Method for optimization of an order of component mounting, apparatus using the same, and mounter

ABSTRACT

An optimizing apparatus for optimizing a mounter equipped with a line gang pickup head which picks up a plurality of components and mounts them on a board. The apparatus includes a nozzle set determination unit for determining a nozzle set which reduces a mounting time in view of a number of times interchanging pickup nozzles and a total task number necessary for mounting the plural components, a nozzle pattern determination unit for determining an optimal nozzle pattern as well as an arrangement of pickup nozzles (nozzle arrangement) at a nozzle station, based on the nozzle set determined by the nozzle set determination unit, and Z-axis arrangement/mounting order optimization unit for determining an array order of component feeders and a mounting order of components while maintaining the determined nozzle set and nozzle pattern.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method for determining the optimalorder in which a mounter is to mount electronic components onto a board,such as a printed circuit board. In particular, the invention relates tothe optimization of the order of component mounting for a mounterequipped with a line gang pickup head that picks up a plurality ofcomponents and mounts them onto the board.

2. Background of the Related Art

The order in which a mounter mounts electronic components on a boardsuch as a printed circuit board is conventionally optimized to minimizea tact time (i.e., the time taken by mounting). Recently, withdiversification of the types of electronic devices, there has been anincrease in demand for a multi-functional mounter equipped with a linegang pickup head based on a method referred to as “gang pickup” ofpicking up a plurality of components and mounting them on a board. Thus,various types of methods for optimization of the order of componentmounting for such a mounter are presented (for instance, in JapaneseLaid-Open Patent Applications No. 2002-50900 and No. 2002-171097).

The reference mentioned above discloses the method for optimizing anorder of component mounting in favor of the mounting of the componentsperformed by a line gang pickup head, namely, prioritizing themaximization of the number of components to be simultaneously picked upby a line gang pickup head per task. Here, one iteration of repeatedseries of processes where a line gang pickup head picks up, transfersand mounts components, and the group of components handled in such aniteration are both referred to as a “task”. The number of tasks requiredfor mounting all the components is minimized owing to such optimization,and therefore, the mounting of the components can be completed with ashorter tact time.

However, the above conventional optimization method takes a lot ofprocessing time to simultaneously determine various conditions foroptimization, such as: a Z-axis arrangement which is an array ofcomponent feeders to be set on a mounter; an arrangement of nozzles at anozzle station; a nozzle pattern; and a mounting order (i.e., an orderof mounting components in consideration of mounting points on a board).To be more specific, it is a method for searching the conditions optimalon the whole by checking the tact as well as various constraints eachtime the above conditions for optimization are changed. Therefore, it isnecessary to calculate a tact each time the nozzle pattern is changedand thereby it takes time for optimization. Here, a nozzle pattern is apickup nozzle string in which a type of nozzle for picking up componentsis determined for each line gang pickup head in each task that isarranged according to the mounting order.

It is also a problem that an optimal solution cannot always be foundsince a head position and a task and others of the line gang pickup headto be interchanged are determined using random numbers in order tochange the conditions for optimization.

BRIEF SUMMARY OF THE INVENTION

The present invention pertains to an optimizing method for an order ofmounting components for a mounter equipped with a mounting head forpicking up a plurality of components and mounting the components on aboard, and aims to provide an optimizing method for a component mountingorder based on which a more optimal mounting order can be searchedwithin a shorter time.

In order to achieve the above object, the inventors analyzed proportionof the operation of the mounter within the total tact time and found outthat most of the time spent is used for interchanging nozzles andexecuting tasks. Therefore, they consider not only a reduction of thenumber of tasks but also a decrease in the number of times forinterchanging nozzles to develop an algorithm for determining an orderof mounting components.

Namely, the optimizing method for an order of mounting components,according to a first embodiment, is an optimizing method that optimizes,using a computer, a component mounting order in which a mounter equippedwith a mounting head picks up, at maximum, L components, L being no lessthan 2, from an array of component feeders that hold components, andmounts the components on a board, wherein the mounting head has, atmaximum, L pickup nozzles for picking up the components, L being no lessthan 2, and a plurality of components to be optimized include pluraltypes of components which are picked up using no less than 2 pickupnozzles of different types. The optimizing method comprises: a nozzleset determination step of determining a nozzle set for mounting all theplurality of components with a smallest task number, where a nozzle setis a combination of pickup nozzles to be attached to the mounting headand a task is a group of components to be mounted by one iteration ofthe repeated series of processes where the line gang pickup head picksup, transports, and mounts components; and a mounting orderdetermination step of determining the array order of component feedersand the component mounting order, while maintaining the determinednozzle set.

Here, in the nozzle set determination step, i) at least one kind ofnozzle set is specified, a nozzle set corresponding to the number oftimes interchanging the pickup nozzles, ii) the task number for mountingthe plurality of components is calculated using the specified nozzleset, iii) a combination of the number of times of interchanging thepickup nozzles and the calculated task number is estimated, and iv) thenozzle set is determined as a result of the estimation. For example, inthe nozzle set determination step, a nozzle set which calculates thesmallest evaluated value S is determined as the nozzle set that reducesa mounting time, the smallest evaluated value S is calculated usingS=X+h·N, where N indicates the number of times interchanging the pickupnozzles, X indicates the total task number and h indicates a coefficientfor converting the time taken by interchanging the pickup nozzles pertime into a task number.

The optimization is thus operated in consideration not only of the tasknumber, as has been the conventional case, but also of the nozzleinterchange time. The time required for interchanging the nozzles andexecuting the tasks, which takes a large proportion of the whole tact,is reduced and thereby the mounting time is shortened on the whole.Also, two parameters, the task number and the nozzle interchange time,are determined at the initial stage of the optimization so that the timerequired for searching an optimal mounting order is shortened.

The nozzle set determination step may include: a task number calculationstep of repeating the processing of calculating the task number formounting the plurality of components using “n” kinds of nozzle sets, “n”being no less than 1, while incrementing the “n” by 1; and a nozzle setnumber specification step of calculating an evaluated value Scorresponding to the mounting time according to a predeterminedevaluation function, specifying “n” kind of nozzle set corresponding toa combination in which the evaluated value S is the smallest, anddetermining the specified “n” kind of nozzle set as the nozzle set. Inmore detail, the task number calculation step includes the followingsteps: calculating a task number for a case in which the plurality ofcomponents are mounted on a board, using the mounting head on which asmany L components as possible are picked up, as a minimal task number;and judging for each task number whether or not it is possible to mountall of the plurality of components by incrementing the calculatedminimum task number by 1, and obtaining a minimum task number that isjudged as possible as the task number for mounting all the plurality ofcomponents.

Thus, a feasible solution is searched in ascending order of the tasknumber so that the time necessary for optimization can be reduced.

In the task number calculation step, a task number of a nozzle set isincremented, the task number of the nozzle set, out of a plurality ofnozzle sets determined immediately before, having fewer “empty head”which is a state in which a mounting head is empty when performing atask for components fewer than the number L. Meanwhile, the task numbercalculation step further includes calculating the task number bydecrementing the calculated minimum task number by 1, and the tasknumber is decremented, the task number of the nozzle set, out of pluralnozzle sets determined immediately before, having more “empty head”which is a state in which a mounting head is empty when performing atask for components fewer than the number L.

Thus, the combination of the task numbers having high possibility to bea feasible solution is firstly searched and the search is also made forthe decrease in the task number so that the more optimal solution(mounting order) can be found within a shorter time.

The number of usable pickup nozzles is restricted depending on the typeof pickup nozzles, and in the nozzle set determination step, when the“n” kinds of nozzle sets are respectively determined, a combination of apickup nozzle and the number of components to be mounted using saidpickup nozzle is specified for the number L or fewer within therestricted range. Thus optimization can be achieved in view of the tasknumber and the nozzle interchange time, even when there is a restrictionon the nozzle resource.

In the task number calculation step, the possible combinations for thetask numbers calculated using the respective “n” kinds of nozzle setsare extracted. Whether or not it is possible to mount all the pluralityof components is sequentially judged for all the extracted combinations,and a minimum task number that is judged as possible is obtained as thetask number for mounting the plurality of components using “n” kinds ofnozzle sets. Here, in the task number calculation step, the combinationsare extracted from a restricted range specified by minimum and maximumtask numbers. The minimum task number is a task number for mounting theplurality of components on a board, using a mounting head by which asmany of the L components as possible are picked up, and the maximum tasknumber is the number of components having the largest number out of thecomponents classified based on the type of pickup nozzles.

Thus, whether it is a feasible solution or not is examined repeatedlyfor the possible combinations of task numbers based on a round-robinsearch method. Therefore, a feasible solution can be found surelywithout missing the more optimal solution in spite that a longer searchtime is more or less required.

The round-robin search method as described above and the search methodbased on the minimum task number can be certainly combined for use. Forinstance, the task number calculation step may include: a firstcalculation step of: calculating a task number for a case in which theplurality of components are mounted on a board, using a mounting head bywhich as many of the L components as possible are picked up, as aminimal task number; judging whether or not it is possible to mount allthe plurality of components for each task number by incrementing thecalculated minimum task number by 1; and obtaining a minimum task numberjudged as possible as the task number for mounting the plurality ofcomponents using “n” kind of nozzle set; a second calculation step of:extracting the possible combinations for the task number calculatedusing the respective “n” kind of nozzle set; judging sequentiallywhether or not it is possible to mount all the plurality of componentsfor all the extracted combinations; and obtaining a minimum task numberjudged as possible as the task number calculated using the “n” kind ofnozzle set; and a selection step of selectively executing either thefirst calculation step or the second calculation step.

Thus, either the time or the degree of accuracy can be selected to beprioritized in optimization.

In order to achieve the above object, the inventors further focused onthe nozzle interchange which makes up a large part of the whole tact.This has led to an invention of the algorithm for mounting all of thecomponents without interchanging nozzles. In other words, an algorithmfor determining one kind of nozzle set which enables the mounter tomount all the components with fewer task numbers is developed. As aresult, in spite that the task number is incremented more or less by notperforming nozzle interchange, it is conceivable that the mounting timeon the whole does not increase greatly since the time previously takenby interchanging nozzles is completely omitted. After determining onekind of optimal nozzle set for optimization of the component mountingorder, there is no longer any need to take nozzle interchange intoaccount so that one optimization parameter is taken away and the timenecessary for optimization processing on the whole is reduced. Moreover,a component or a control unit for nozzle interchange does not need to beincorporated in the mounter, that is to say, a component and lines onthe mounting head are simplified and the period of time taken byproducing the mounter is greatly reduced. The mounter with an extremelyhigh value-performance ratio is thus realized.

Namely, the optimizing method for an order of mounting componentsaccording to the second invention is An optimizing method thatoptimizes, using a computer, a component mounting order in which amounter equipped with a mounting head picks up, at maximum, Lcomponents, L being no less than 2, from an array of component feedersthat hold components, and mounts the components on a board, wherein themounting head has, at maximum, L pickup nozzles for picking up thecomponents, L being no less than 2, and a plurality of components to beoptimized include a plurality of types of components which are picked upusing no less than 2 pickup nozzles of different types. The optimizingmethod comprising a nozzle set determination step of determining anozzle set for mounting all the plurality of components with a smallesttask number, where a nozzle set is a combination of pickup nozzles to beattached to the mounting head and a task is a group of components to bemounted by one iteration of the repeated series of processes where themounting head picks up, transports, and mounts components, and thenozzle set and the task number are determined, said nozzle set formounting all the plurality of components with the smallest task number,without interchanging the pickup nozzles attached to the mounting head.

Here, the nozzle set determination step may include: an initial nozzleset calculation step of calculating the number of pickup nozzles foreach type as an initial nozzle set based on the number of components tobe picked up, respectively, by different types of pickup nozzles; aninitial task number calculation step of calculating a total task numberfor mounting all of the plurality of components based on the number ofcomponents corresponding to the calculated initial nozzle set; a tasknumber calculation step of calculating a total task number when thenumber of pickup nozzles is incremented or decremented by 1 for eachtype of the initial nozzle set; and a judgment step of judging whetheror not the total task number calculated in the task number calculationstep is smaller than the total task number calculated in the initialtask number calculation step, and when the former is smaller than thelatter, the judgment on whether or not the decremented or incrementedtotal task number becomes smaller after the incremented or decrementednozzle set has been updated as a latest nozzle set, and when the formeris not smaller than the latter, the previous nozzle set and the totaltask number for said nozzle set are determined as the initial nozzle setand task number. Thus, an optimal nozzle set is searched out since thetask number is estimated by incrementing or decrementing the number ofpickup nozzles by one for each type.

The respective plurality of components belong to one of a plurality ofcomponent groups classified based on heights of components, and the tasknumber calculation step may include: a component group task numbercalculation step of calculating a task number for mounting all thecomponents belonging to each of the component groups; and a total tasknumber calculation step of calculating a total task number by totalingeach of the task numbers calculated in units of component groups. Thus,the nozzle set with which all the components can be mounted isdetermined even when the components need to be mounted sequentially inunits of component groups.

In the component group task number calculation step, when a componentgroup includes plural types of components to be picked up using aplurality of pickup nozzles, a maximum task number, out of task numberscorresponding, respectively, to the plurality of pickup nozzles, isobtained as a task number of the component group. Thus, an effectivenozzle set corresponding to the case in which the pickup nozzles ofdifferent types are placed on the mounting head so as to mount thecomponents is determined.

The present invention can be realized not only as the component mountingorder optimization method as described above, but also as a componentmounting apparatus including the characteristic steps included in themethod, a mounter for mounting components according to the order thusoptimized, as a program causing a personal computer to execute thesesteps, and even as a storage medium such as a CD-ROM on which theprogram is recorded.

For further information about technical background to this application,Japanese Patent Applications No. 2003-015278 filed on Jan. 23, 2003 andNo. 2003-330523 filed on Sep. 22, 2003, are incorporated herein byreference.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows the entire construction of a component mounting systemaccording to the present invention.

FIG. 2 is an overhead view showing the overall construction of a mounterused in the present component mounting system

FIG. 3A is a depiction of a positional relationship between a line gangpickup head of the mounter and component feeders according to thepresent invention.

FIG. 3B shows an example of a pickup nozzle on the line gang pickuphead.

FIG. 4 shows various types of pickup nozzles.

FIGS. 5A to 5D show various chip-shaped electronic components to bemounted.

FIG. 5E shows examples of a carrier tape on which components are loadedand a supply reel.

FIG. 6 is a block diagram showing the hardware construction of anoptimization apparatus.

FIG. 7 shows an example of the mounting point data shown in FIG. 6.

FIG. 8 shows an example of the component library shown in FIG. 6.

FIG. 9 shows an example of the mounter information shown in FIG. 6.

FIG. 10 is a flowchart showing the procedure of determining a nozzle setperformed by the nozzle set determination unit shown in FIG. 6.

FIG. 11 is a diagram for explaining the procedure used in Step S105(specifying an optimal nozzle set) shown in FIG. 10.

FIG. 12 is a flowchart showing the detailed procedure used in Step S102(specifying a nozzle set and a task number X_(N)) shown in FIG. 10.

FIG. 13 is a flowchart showing the detailed procedure used in Step S111(examining whether it is a feasible solution or not) shown in FIG. 12.

FIGS. 14A to 14E are diagrams showing concrete examples of specifyingthe task number X_(N) when a nozzle interchange time N is 0.

FIG. 15 is a flowchart showing the detailed procedure used in specifyingthe task number X_(N) when the nozzle interchange time N is 1.

FIG. 16 is a diagram showing prerequisites for the example of specifyingthe task number X_(N) when the nozzle interchange time N is 1.

FIGS. 17A to 17D are diagrams showing examples of specifying the tasknumber X_(N) when the nozzle interchange time N is 1.

FIG. 18 is a diagram for explaining the process of selecting the optimalcombination from among the combinations of the searched-out nozzleinterchange time N and the task number X_(N) shown in FIG. 17.

FIG. 19 is a diagram showing a prerequisite set for the example oftaking a restriction on a nozzle resource into consideration.

FIGS. 20A to 20G show examples when the restriction on the nozzleresource is taken into consideration.

FIGS. 21A to 21D show examples of a comparison between the nozzle settable obtained using an IP solver (sections where “strict solution” isindicated on the right) and the nozzle set table obtained using thealgorithm of the present embodiment (section where “embodiment” isindicated on the right).

FIGS. 22A to 22D show other examples of a comparison between the nozzleset table obtained by using an IP solver (sections where “strictsolution” is indicated on the right) and the nozzle set table obtainedby using the algorithm of the present embodiment (section where“embodiment” is indicated on the right).

FIG. 23 is a flowchart showing a procedure of determining the tasknumber using a round-robin search method.

FIG. 24 is a diagram showing an example of the round-robin searchmethod.

FIGS. 25A to 25D show examples of the procedure for determining thenozzle pattern performed by the nozzle pattern determination unit shownin FIG. 6.

FIGS. 26A to 26D show examples of the procedure of determining anarrangement of nozzles at a nozzle station performed by the nozzlepattern determination unit shown in FIG. 6.

FIG. 27 shows a component histogram for all of the components for whichpickup patterns are generated based on the cut down procedure.

FIG. 28 shows how ten consecutive components are removed at a time(i.e., “cut down”) from the component histogram shown in FIG. 27.

FIG. 29 shows a component histogram for the components that are leftover after the cut down process shown in FIG. 28.

FIG. 30 shows how a diagram is generated from the component histogramshown in FIG. 29 in accordance with the task group generation method.

FIG. 31 shows the pickup patterns for component types whose positions onthe Z-axis have been determined by the cut down procedure.

FIG. 32 shows a component histogram (reconstructed without changing theZ-axis) corresponding to the pickup patterns shown in FIG. 31.

FIG. 33A is a flowchart showing the procedure used when the generalcomponent optimization unit optimizes the mounting order of generalcomponents.

FIG. 33B shows the relationship between states and tact times toillustrate the approach used by this optimization to find the optimalsolution.

FIG. 34 is a flowchart showing the detailed procedure used whenperforming optimization according to the hill-climbing method (StepsS551, S553) shown in FIG. 33A.

FIG. 35 is a flowchart showing the detailed procedure used whenperforming optimization according to the multi-canonical method (StepS552) shown in FIG. 33A.

FIG. 36 is a flowchart showing another example of the procedure forspecifying the task number N.

FIG. 37 is a block diagram showing the hardware construction of theoptimization apparatus.

FIG. 38 is a table showing the example of classifying component groups.

FIG. 39 is a flowchart showing a procedure of operating the task numberdetermination unit.

FIG. 40 is a component structure table used for explaining each stepshown in FIG. 39.

FIG. 41 is a diagram showing an example of each step shown in FIG. 39.

FIG. 42 is another example of the component structure table used forexplaining each step shown in FIG. 39.

FIG. 43 is a diagram showing another example of each step shown in FIG.39.

FIG. 44 is a flowchart showing the procedure operated by a componentgroup allocation unit and a component allocation unit.

FIG. 45 is a diagram for explaining each step in the flowchart shown inFIG. 44.

FIGS. 46A and 46B are component structure tables or the like forexplaining each step shown in FIG. 45.

FIG. 47 is a diagram showing an example of each step shown in FIG. 45.

FIG. 48 is a flowchart showing the procedure operated by a nozzleallocation unit.

FIGS. 49A and 49B are component structure tables or the like forexplaining each step shown in FIG. 48.

FIG. 50 is a diagram showing the example of each step shown in FIG. 48.

DETAILED DESCRIPTION OF THE INVENTION

The following describes in detail the embodiments of the presentinvention with reference to the drawings.

FIG. 1 shows the entire construction of a component mounting system 10according to the present invention. As shown in the drawing, themounting system 10 is composed of a plurality (here, two) of mounters100 and 200 and an optimization apparatus 300. The mounters 100 and 200form a production line where electronic components are mounted onto acircuit board 20 that is transported downstream. The optimizationapparatus 300 optimizes the mounting order of the required electroniccomponents at the start of production, for example, based on informationin a variety of databases, and sets and controls the mounters 100 and200 having provided them with the NC data produced by the optimization.

The mounter 100 is equipped with two stages (a front stage 110 and arear stage 120) that operate simultaneously and independently of oneanother, or in concert, or even alternately. Each of these stages 110and 120 is a perpendicular robotic mounting stage and includes twocomponent supplying units 115 a and 115 b, a line gang pickup head 112,an XY robot 113, a component recognizing camera 116, and a traysupplying unit 117. The component supplying units 115 a and 115 b areeach made up of an array of up to 48 component feeders 114 that storecomponent tapes. The line gang pickup head 112 has 10 pickup nozzles(hereafter simply “nozzles”) that can pick up a maximum of 10 componentsfrom the component feeders 114 and mount them onto the circuit board 20.The XY robot 113 moves the line gang pickup head 112. The componentrecognizing camera 116 investigates the picked-up state of thecomponents that have been picked up by the line gang pickup head 112 intwo or three dimensions. The tray supplying unit 117 supplies traycomponents.

In this specification, the expression “component tape” refers to a tape(a carrier tape) in which a number of the same type of components havebeen arranged, with such tape being supplied from a reel (a supply reel)or the like, around which the tape has been wound. Component tapes areusually used to supply relatively small components called “chipcomponents” to a mounter. However, during the optimization process, a“component tape” refers to data that specifies a group of components ofthe same type (that are assumed to have been arranged on a virtualtape). In the process called “component division”, a group of componentsof the same type (that would potentially be arranged on a singlecomponent tape) are divided into a plurality of component tapes. Itshould be noted here that components supplied by a component tape aresometimes called “taped components”.

In short, the mounter 100 is designed so as to be able to mount almostall types of electronic components from 0.6 mm by 0.3 mm chip resistorsto 200 mm connectors, with a production line being formed by arrangingthe required number of mounters 100 in a line.

FIG. 2 is an overhead view showing the overall construction of themounter 100 shown in FIG. 1. A shuttle conveyor 118 is a moving table (acollection conveyor) on which a component taken from the tray supplyingunit 117 is placed and which is moved to a predetermined position wherethe line gang pickup head 112 can pick up components from the shuttleconveyor 118. A nozzle station 119 is a table on which interchangeablenozzles corresponding to various sizes of components are positioned.

The component supplying units 115 a and 115 b included in each stage 110and 120 are provided on the left and right sides of the componentrecognizing camera 116. The line gang pickup head 112 picks upcomponents from the component supplying unit 115 a or 115 b, passes bythe component recognizing camera 116, and then repeats an operationwhereby the line gang pickup head 112 moves to a mounting point on thecircuit board 20 and mounts all of the picked-up components.

The component supplying unit 115 a, which is located on the left sidefacing each sub stage, is called “left block” while the componentsupplying unit 115 b, which is located on the right side, is called“right block”. In this specification, one iteration of the repeatedseries of processes where the line gang pickup head 112 picks up,transports, and mounts components and the group of components handled insuch an iteration are both referred to as a “task”. As one example, whenthe line gang pickup head 112 has ten nozzles, the maximum number ofcomponents that can be mounted by a single task is ten. It should alsobe noted that a “pickup operation” refers to all of the operationsperformed from when the head starts to pick up components to when theline gang pickup head 112 transports the components. In thisspecification, a pickup operation refers not only to when ten componentsare picked up by to the line gang pickup head 112 with a single nozzlestroke (a raising and lowering of the line gang pickup head 112), butalso when ten components are picked using several nozzle strokes.

FIG. 3A is a depiction of the positional relationship between the linegang pickup head 112 and the component feeders 114. The line gang pickuphead 112 uses a method referred to as “gang pickup” and can be equippedwith a maximum of ten pickup nozzles 112 a-112 b. When thus equipped, amaximum of ten components can be simultaneously picked up from thecomponent feeders 114 in a single nozzle stroke (one raising andlowering of the line gang pickup head 112). Namely, the line gang pickuphead 112 moves to the component supplying units 115 a and 115 b andpicks up the components. Here, when the line gang pickup head 112 cannotpick up ten components simultaneously in a single stroke, ten componentscan be picked up at maximum by repeating nozzle strokes a plurality oftimes while shifting the position to pick them up.

Positions (head position) of the ten nozzles 112 a to 112 b to bemounted on the line gang pickup head 112 are respectively called a headnumber 1 (H1), a head number 2 (H2), . . . , a head number 10 (H10) fromthe left of the line gang pickup head 112, when looked from thecomponent supplying units 115 a and 115 b. The method of optimizing amounting order according to the present invention is not limited to asingle-lined line gang pickup head where the nozzles are arranged in asingle line as shown in FIG. 3A and can be applied to a double-linedline gang pickup head where the nozzles are arranged in two lines asshown in FIG. 3B.

It should be noted that only one component tape is loaded into a “singlecassette” component feeder 114, while two component tapes with the samefeed pitch (2 mm or 4 mm) are loaded into a “double cassette” componentfeeder 114. The position of each component feeder 114 (or componenttape) in a component supplying unit 115 a or 115 b is indicated using avalue in the Z-axis or a position on the Z-axis, with consecutive valuesbeing assigned to positions starting with the leftmost position in thecomponent supplying unit 115 a as position “1”. As a result, thedetermination of mounting order for taped components amounts to thedetermination of the ordering (i.e., positioning on the Z-axis) ofcomponents (or component tapes, or component feeders 114 in which thecomponent tapes have been stored).

FIG. 4 shows the examples of the nozzles 112 a-112 b to be mounted onthe line gang pickup head 112. As shown in the diagram, plural types (S,M, L and others) are provided according to size and weight of thecomponent to be mounted. When lacking the nozzle necessary for pickingup components, the line gang pickup head 112 moves to the nozzle station119 where the nozzle is placed, performs nozzle interchange then,returns back to the component cassette 114 and then picks up thecomponents.

FIGS. 5A to 5D show various taped components 423 a to 423 d. The variouschip-shaped electronic components 423 a-423 d shown in the diagram areplaced into storage spaces 424 a that are successively formed in acarrier tape 424 shown in FIG. 5E and are encapsulated by applying acover tape 425 over the carrier tape 424. A predetermined length of thiscarrier tape 424 is wound around the supply reel 426, and the result issupplied to users as a component tape.

FIRST EMBODIMENT

FIG. 6 is a block diagram showing the hardware construction of theoptimization apparatus 300 a that was shown in FIG. 1. In order tominimize the line tact time (the highest tact time out of the individualtact times of the stages forming the production line) for the mountingof components on a board, the optimization apparatus 300 a determineswhich components should be mounted by each stage and the mounting orderof components for each stage, based on information for all of thecomponents that is provided by a component mounting CAD (Computer-AidedDesign) apparatus or the like. By doing so, the optimization apparatus300 a produces optimal NC data. The optimization apparatus 300 aincludes a calculation control unit 301, a display unit 302, an inputunit 303, a memory unit 304, an optimization program storing unit 305, acommunication interface unit 306, and a database unit 307.

The optimization apparatus 300 a is realized by having a standardcomputer system such as a personal computer execute an optimizationprogram embodying the present invention. When not connected to an actualmounter 100, the optimization apparatus 300 a can also function as astand-alone simulator (an optimization tool for the order of componentmounting).

The calculation control unit 301 is a CPU (Central Processing Unit), anumeric processor, or the like. In accordance with instructions from theuser, the calculation control unit 301 loads the required programs fromthe optimization program storing unit 305 into the memory unit 304 andexecutes them. In accordance with the execution result, the calculationcontrol unit 301 controls the components numbered 302 to 307.

The display unit 302 is a CRT (Cathode Ray Tube), a LCD (Liquid CrystalDisplay), or the like, while the input unit 303 is an input device suchas a keyboard or a mouse. These components are controlled by thecalculation control unit 301 and are used to allow user interaction withthe optimization apparatus 300.

The communication interface unit 306 is a LAN (Local Area Network)adapter or the like, and is used to allow the optimization apparatus 300to communicate with the mounters 100 and 200. The memory unit 304 is aRAM (Random Access Memory) or the like that provides a work area for thecalculation control unit 301.

The database unit 307 is a hard disk drive or the like storing inputdata (mounting point data 307 a, a component library 307 b, and mounterinformation 307 c) that is used in the optimization process performed bythe optimization apparatus 300 a and mounting point data and other datagenerated by the optimization process.

FIGS. 7 to 9 show examples of the mounting point data 307 a, thecomponent library 307 b, and the mounter information 307 c,respectively.

The mounting point data 307 a is a collection of information showing themounting points of all of the components to be mounted. As shown in FIG.7, one mounting point pi is made up of a component type ci, an Xcoordinate xi, a Y coordinate yi, and control data φi. In the presentcase, the expression “component type” refers to the name of component inthe component library 307 b shown in FIG. 8, the “X coordinate” and “Ycoordinate” are the coordinates of the mounting point (coordinates thatindicate a specific position on a board), and “control data” is controlinformation (such as the type of pickup nozzle that can be used and themaximum speed at which the line gang pickup head 112 should move)relating to the mounting of the component. It should be noted that the“NC data” that is to be finally produced is an ordered list of mountingpoints that results in the shortest line tact time.

The component library 307 b is a library in which specific information,for the various component types that can be handled by the mounters 100and 200, is gathered together. As shown in FIG. 8, each entry in thecomponent library 307 b includes the component size, tact time (tacttime for each component type subject to certain conditions), and otherrestriction information (such as the type of pickup nozzle that can beused, the recognition method to be used by the component recognizingcamera 116, and the maximum speed at which the line gang pickup head 112should move). It should be noted that in FIG. 8, the external appearanceof components of various types have also been shown for referencepurposes.

The mounter information 307 c is information showing the constructionsof each of the stages forming the production line and the restrictionsto which these stages are subject. As shown in FIG. 9, the mounterinformation 307 c is made up of information such as head informationrelating to the type of line gang pickup head, nozzle informationrelating to the types of nozzles that can be attached to the line gangpickup head, feeder information relating to the maximum number ofcomponent feeders 114, and tray information relating to the number oflevels on which trays are stored in the tray supplying unit 117. Theinformation described above is categorized as follows. The categoriesused are equipment option data (for each stage), resource data (thenumber of feeders that can be fitted in each stage and the number ofnozzles in each stage), nozzle station arrangement data (for eachstation equipped with a nozzle station), initial nozzle pattern data(for each stage), and Z-axis arrangement data (for each stage).

The optimization program storing unit 305 is a hard disk drive or thelike for storing various optimization programs for realizing thefunctions of the present optimization apparatus 300 a. An optimizationprogram is a program for optimizing a mounting order of components andis composed functionally (as a processing unit that functions when theprogram is executed by the calculation control unit 301) of a nozzle setdetermination unit 305 a, a nozzle pattern determination unit 305 b anda Z-axis arrangement/mounting order optimization unit 305 c.

The nozzle set determination unit 305 a is a processing unit fordetermining more than one optimal nozzle set to be used for mounting allthe components. Here, a nozzle set is a combination of the pickupnozzles to be mounted on the line gang pickup head 112 for mountingcomponents. The combination is determined based on types and numbers often or less pickup nozzles in the case of ten pickup nozzles. Forexample, a combination can be made of two S-typed pickup nozzles andeight M-typed pickup nozzles. Here, a head position of the line gangpickup head 112 on which each of the pickup nozzles is mounted is notlimited. The nozzle set determination unit 305 a specifies a nozzle setwhich can complete mounting of all the components within a shorter timeregarding the number of times of interchanging pickup nozzles (nozzleinterchange time) operated by the line gang pickup head 112 and thenumber of tasks (task number) necessary for mounting all the components.

The nozzle pattern determination unit 305 b determines the optimalnozzle pattern and arrangement of the pickup nozzles (nozzlearrangement) at the nozzle station 119 based on the nozzle setdetermined by the nozzle set determination unit 305 a. The nozzlepattern determination unit 305 b determines a nozzle pattern bydetermining the positions (head position of the line gang pickup head112) of each of the pickup nozzles composing each nozzle set determinedby the nozzle set determination unit 305 a (correlates the types ofpickup nozzles and the head position of the line gang pickup head 112)and determining the arrangement for each nozzle set. The nozzlearrangement at the nozzle station 119 is determined according to thedetermined nozzle pattern.

The Z-axis arrangement/mounting order optimization unit 305 c optimizesa Z-axis arrangement and a mounting order based on the nozzle patterndetermined by the nozzle pattern determination unit 305 b and the nozzlearrangement at the nozzle station 119 (while maintaining the nozzlepattern and the nozzle arrangement) and generates NC data as a finalresult. The optimization of the mounting order here is to give anoptimal order for each of the mounting points on the board with thefixed nozzle pattern, nozzle arrangement and Z-axis arrangement.

Thus, in the optimization program, after the nozzle set determinationunit 305 a and the nozzle pattern determination unit 305 b determine thenozzle pattern as well as the nozzle arrangement, the Z-axisarrangement/mounting order optimization unit 305 c optimizes the Z-axisarrangement and the mounting order, which are left in the process.Accordingly, it is after the effective optimization in which nozzleinterchange that makes up the great portion of the whole time formounting components is prioritized that the remaining Z-axis arrangementand mounting order are optimized so that more optimal mounting order canbe searched within a shorter processing time.

Next, the operation of the optimization apparatus 300 a thus constructedis explained.

FIG. 10 is a flowchart showing the process of determining the nozzle setperformed by the nozzle set determination unit 305 a. The nozzle setdetermination unit 305 a firstly calculates an ideal minimum task numberX_(min) based on a total number of the components to be mounted and thenumber of heads on the line gang pickup head 112 (the number of thepickup nozzles mounted on the line gang pickup head 112, namely, 10 inthe case of using the line gang pickup head shown in FIG. 3) (S100). Forexample, assuming that the number of components to be mounted is 217including 50 components to be mounted using an S-typed pickup nozzle(referred to as “S-typed components”) and 167 components to be mountedusing an M-typed pickup nozzle (referred to as “M-typed components” andthe number of heads on the line gang pickup head is 5, X_(min)=44 can beobtained from the following calculation (50+167)/5=43.4, when fractionsbelow decimal point are rounded up. This means that at least 44 tasksare required to mount all the components even when the components aremounted using the line gang pickup head 112 on which the components arefully loaded.

The nozzle set determination unit 305 a then determines the nozzle setand the task number X_(N) necessary for mounting all the components ateach nozzle interchange time N by incrementing the nozzle interchangetime N that initially indicates “0” by 1 (S101-S104).

To be more specific, firstly the nozzle interchange time N is determinedas 0 (the number of nozzle sets is 1) (S101) and determines the nozzleset and the task number X_(N) for this case (S102). It should be notedthat the relation between the nozzle interchange time N and the numberof nozzle sets (types of nozzle sets) n can be presented as n=N+1. Forexample, when the number of nozzle sets is 1, the nozzle interchangetime N is 0 since all the components are mounted using the nozzle setfirstly mounted on the line gang pickup head 112. When the number ofnozzle sets is 2, the nozzle set has to be changed to the second nozzleset during the mounting process. Therefore, the nozzle interchange timeN is 1.

As for the determination of the nozzle set and the task number X_(N)(S102), as is mentioned later, examination of whether mounting of allthe components is possible or not (i.e., examination of a feasiblesolution) by sequentially incrementing the minimum task number X_(min)by 1 so that the nozzle set and the task number, with which all thecomponents can be mounted in fewer task numbers, are determined first.

Then, whether or not predetermined end conditions, which are to bementioned later, are satisfied is judged (S103). When they are notsatisfied (No in S103), the nozzle interchange time N is incremented by1 (S104), and this time, the nozzle set and the task number X_(N)necessary for mounting all the components are determined for the case inwhich the nozzle interchange time N is 1 (the number of nozzle sets is2) (S102).

Thus, the processing of determining the task number X_(N) byincrementing the nozzle interchange time N by 1 (N=0, 1, . . . ) isrepeated (S102-S104). When the end conditions are satisfied (Yes inS103), such search is terminated and a combination with which mountingof components is completed in the shortest time is eventually determinedfrom among the combinations of the nozzle interchange time N and thetask number X_(N) which have already been specified in the search usinga predetermined evaluation function and determines the nozzle set of thedetermined combination as an optimal nozzle set (S105).

It is to be noted that the end conditions in Step S103 is a case inwhich the task number X_(N) does not decrease even when the nozzleinterchange time N is increased, when the determined task number X_(N)corresponds to the minimum task number X_(min). That is to say, thepossibility that an evaluated value, which is to be mentioned later on,becomes smaller is zero in spite of the fact that the nozzle interchangetime N is incremented.

FIG. 11 is a diagram showing the procedure used in Step S105 (determinean optimal nozzle set) in FIG. 10. Here, a case of obtaining three setsfor a combination of the nozzle interchange time N and the task numberX_(N) (N=0, 1, 2) is shown. The nozzle set determination unit 305 acalculates evaluated values S0, S1 and S2 by substituting nozzleinterchange time N and task number X_(N) in the evaluation functionshown in the diagram, specifies the smallest evaluated value from amongthe values S0, S1 and S2, and determines the nozzle set corresponding tothe nozzle interchange time N as an optimal nozzle set.

It should be noted that the evaluation function shown in the diagram isa function for calculating a total value of the time necessary fornozzle interchange and the time necessary for executing tasks. “h” inthe evaluation function is a coefficient for converting the timenecessary for a stroke of nozzle interchange into a task number and isinvariable, e.g., 2.

In this way, the nozzle set, such that the total of the time requiredfor nozzle interchange and the time required for the execution of thetask is the smallest, can be determined.

FIG. 12 is a flowchart showing the detailed procedure used in Step S102(determine a nozzle set and a task number X_(N)) of FIG. 10, that is, aprocedure used for determining the task number X_(N) necessary formounting all the components. The nozzle set determination unit 305 afirstly presupposes that the task number X_(N) equals to the minimumtask number X_(min) as initial settings (S110) and examines whether thetask number is a feasible solution or not (S111). Namely, the nozzle setdetermination unit 305 a examines whether or not all the components canbe mounted by X_(min) number of tasks, subjected to a given nozzleinterchange time N.

Consequently, when the task number X_(N) is not a feasible solution (Noin S111), the task number X_(N) is incremented by 1 (S114) and theexamination of whether feasible solution or not is repeated again(S111). On the other hand, when it is a feasible solution, the tasknumber X_(N) at that time is determined as the task number X_(N)corresponding to the given nozzle interchange time N (S113) and theprocessing is terminated.

Thus, the nozzle set determination unit 305 a determines the task numberX_(N) required to mount all the components by incrementing the minimumtask number X_(min) by 1, subjected to the given nozzle interchange timeN.

FIG. 13 is a flowchart showing the detailed procedure used in Step S111(examination of whether feasible solution or not) in FIG. 12. Namely,when nozzle interchange time N and task number X_(N) are given, it is aprocedure for judging whether or not it is possible to mount with suchconditions satisfied. The nozzle set determination 305 a firstly dividesall the components to be mounted into groups depending on the type ofpickup nozzles (for instance, when mounting 50 S-typed components and167 M-typed components, two groups: one for the 50 S-typed componentsand the other for the M-typed components), and generates a nozzle settable in which each of the groups are arranged as an initial state(S120). Here, a nozzle set table, as is mentioned later, is a table onthe memory where head position (head number) is shown in a column whilethe number of nozzle sets (nozzle set number) is shown in a row

Then, each of the groups is divided by a given task number X_(N) (S121)while the component groups calculated by the division are arranged inthe nozzle set table sequentially from the upper left in descendingorder of the number of components (S122).

As a result, whether or not all the component groups are arranged withinthe rows of the given nozzle set number n is judged (S123). When all thecomponent groups are arranged on the nozzle set table (Yes in S123), itis judged that the task number X_(N) is a feasible solution for thegiven nozzle interchange time N (S124), otherwise (No in S123), it isjudged that the task number X_(N) is not a feasible solution for thegiven nozzle interchange time N (S125).

FIG. 14 is a diagram showing a concrete example of determining a tasknumber X_(N), when the nozzle interchange time N is “0”. As shown inFIG. 14, supposing that a total number of the components to be mountedis 217 (including 50 S-typed components and 167 M-typed components) andthe head number on the line gang pickup head is 5. Under this condition,the determination of the task number X_(N) (Step S102 in FIG. 10) wherenozzle interchange time N=0 (Step S101 in FIG. 10) is operated asfollows.

As shown in FIG. 14B, the nozzle set determination unit 305 a firstlygenerates an initial state of the nozzle set table (Step S120 in FIG.13). It should be noted that the left column indicates the number ofnozzle sets while five columns (“1”-“5”) correspond to the head number.“S (50)” and “M(167)” in the table respectively signifies 50 S-typedcomponents and 167 M-typed components. Accordingly, the nozzle set tableshown in FIG. 14B means that 50 S-typed components and 167 M-typedcomponents are mounted on the positions indicated by the head numbers 1and 2 using the line gang pickup head on which pickup nozzles of S typeand M type are loaded. By the way, it is presupposed here that as manyof the components as possible are mounted by simultaneously picking themup. Therefore, mounting of all the components is completed by 167 tasksaccording to this nozzle set table.

The nozzle set determination unit 305 a then divides the group S (50)and M (167) generated in an initial state by minimum task number X_(min)“44” (Step S121 in FIG. 13) and arranges the component groups indescending order of the number of component (putting priority on S( ) toM( ) when the numbers are the same) downward and rightward, as shown inFIG. 14C (Step S122 in FIG. 13).

The nozzle set determination unit 305 a then judges whether or not allthe component groups are arranged within the columns equivalent to thegiven nozzle set number n (here, 1) (Step S123 in FIG. 13). In the FIG.14C, it is judged that the mounting by the task number “44” for thenozzle set number “1” is impossible (Step S125 in FIG. 13 and Step S112in FIG. 12). Then, the task number is incremented by 1 (Step S114 inFIG. 12) so as to make the task number “45” and performs the sameexamination (Step S111 in FIG. 12, Steps S120-S125 in FIG. 13). Namely,the component groups are rearranged as shown in the nozzle set tableshown in FIG. 14D. In this case, component S (5) which cannot bearranged in a single row is generated so that it is judged that themounting with the task number “45” is not possible.

The task number is incremented by 1 and the arrangement of components inthe nozzle set table is thus repeated in the same manner. Finally whenthe components are arranged with the task number “50”, as shown in FIG.14E, all the components are arranged in the first row of the nozzle settable. Therefore, the task number “50” is judged to be the minimumfeasible solution (S124 in FIG. 13) and thereby the task number for thenozzle interchange time 0 is determined as “50” (S113 in FIG. 12).

The nozzle set determination unit 305 a increments the nozzleinterchange time by 1 (S104 in FIG. 10) and determines the task numberX2 for the nozzle interchanging time N “1” (Step S102 in FIG. 10).

FIG. 15 is a flowchart showing the detailed procedure used indetermining the task number X_(N) where the nozzle interchanging time Nis 1 or more (S102 in FIG. 10). The basic flow is as same as theprocedure used in the case where the nozzle interchange time N is 0shown in FIGS. 12 and 13. The difference, however, is that the procedureto search for a feasible solution with the smaller task number, not onlyby incrementing but also by decrementing the task number, is added.

The nozzle set determination unit 305 a firstly determines an initialtask number and an initial state (S130). Here, the initial task numbercan be calculated by dividing the minimum task number X_(min) into givenrespective plural nozzle sets. (X_(min)-N) number of tasks are assignedto the first nozzle set while a single task is assigned to the remainingnozzle sets including the second nozzle set.

The nozzle set determination unit 305 a then examines whether theinitial task number is a feasible solution or not (S131). That is tosay, the nozzle set determination unit 305 a examines, under the givennozzle interchange time N, whether or not all the components can bemounted with the initial task number by specifying the nozzle setcorresponding to each given nozzle interchange time N.

When it is a feasible solution (Yes in S132), the nozzle setdetermination unit 305 a determines specified two or more nozzle sets aswell as an initial task number as a solution for the nozzle interchangetime N, and terminates the processing.

When the initial task number is not a feasible solution (No in S132),the total task number X_(N) is incremented by 1 (S133) and examinesagain whether it is a feasible solution or not (S134). Such processingis repeated until a feasible solution is obtained (S135). Here, when thetotal task number is incremented by 1, the task of the nozzle set havingthe fewer “empty head” (a head with a pickup nozzle on which a componentis not mounted while the task is executed), out of the two or morenozzle sets, is incremented by 1 and then the nozzle set is updated.This is because the possibility to mount components as many as possibleis higher, that is to say, it is highly possible to assign all thecomponent groups which were not able to be assigned within the givennozzle set number, when the task number of the nozzle set with fewer“empty head” is incremented.

After a feasible solution is thus found by the increase in the tasknumber, the nozzle set determination unit 305 a decrements, contrary tothe previous operation, the total task number X_(N) by 1 (S136) andexamines again whether it is a feasible solution or not (S137). Here,the nozzle set determination unit 305 a prioritizes the task number ofthe nozzle set with many “empty head”, out of the two or more nozzlesets, in decrementing the total task number by 1 and then updates thenozzle set. This is because the possibility to average the number ofcomponents per head within the same nozzle set is higher, namely, it ishighly possible that the task number without incrementing the nozzle setnumber is decremented, when the task number of the nozzle set havingmany “empty” is decremented.

When it is not a feasible solution (No in S138), the nozzle setdetermination unit 305 a judges that it is difficult to decrease furtherthe task number and determines plural nozzle sets in the state beforedecreasing task and the total task number X_(N) calculated based on suchnozzle sets as a solution for the nozzle set number n and terminates theprocessing.

When it is a feasible solution (Yes in S138), the nozzle setdetermination unit 305 a judges whether or not the total task number isthe minimum task number X_(min) (S139). When it is the case (Yes inS139), the nozzle set determination unit 305 a determines plural nozzlesets at this state and the total task number X_(N), calculated based onsuch nozzle sets as a solution for the nozzle interchange time N andterminates the processing.

When the total task number is not the minimum task number X_(min) (No inS139), the nozzle set determination unit 305 a, repeats the followingprocessing: decrementing again the total task number by 1 (S136); andexamining whether it is a feasible solution or not (S137).

Thus, when the nozzle interchange time N is 1 or more, a feasiblesolution is searched by incrementing the total task number by 1. When afeasible solution is obtained, a feasible solution is searched bydecrementing the total task number by 1 so as to eventually determinethe minimum task number X_(min) for the given nozzle interchange time N.

FIGS. 16 and 17 are diagrams showing examples of determining the tasknumber X_(N) when the nozzle interchanging time N is 1. Now, supposingthat the total number of the components to be mounted is 217 (including50 S-typed components and 167 M-typed components) and the head number ofthe line gang pickup head is 5, as shown in FIG. 16. Since the minimumtask number X_(min) is “44”, The nozzle set determination unit 305 aassigns “43” and “1” respectively to two nozzle sets (the first andsecond nozzle sets) as an initial task number (Step S130 in FIG. 15).Namely, assume that the task number to be assigned to the j th nozzleset for the nozzle interchange time N is X_(Nj), the initial task numberX₁₁ to be assigned to the first nozzle set for the nozzle interchangetime N “1” is “43” as calculated from the following:

 = X_(min) − N  (j = 1)  = 44 − 1  = 43The initial task number X₁₂ to be assigned to the second nozzle set is“1” as calculated from the following:X ₁₂=1(j≧2)

Then, the nozzle set determination unit 305 a firstly generates thenozzle set table in which the two component groups S (50) and M (167)shown in FIG. 17A are arranged as an initial state, (Step S130 in FIG.15).

The nozzle set determination unit 305 a then rearranges these twocomponent groups by the initial task numbers X₁₁ and X₁₂ as shown in thenozzle set table in FIG. 17B (Step S131 in FIG. 15). In more detail, thetwo component groups are firstly divided by the initial task number forthe first nozzle set X₁₁ (“43”) and arranges in descending order of thenumber of component groups (here, in order of S (43), M (43), M (43),M(43), M(38)) in the first row of the nozzle set table, and then,divides the remaining components S (7) by the initial task number forthe second nozzle set X₁₂ (“1”) in descending order of the number ofcomponent groups (here, in order of S (1), S (1), S (1), S (1), S (1))in the second row of the nozzle set table, and finally, arranges theremaining components S (2) in the third row of the nozzle set table.

The nozzle set determination unit 305 a judges that the task number(X₁₁=43, X₁₁=1) is not a feasible solution from the fact that all thecomponent groups cannot be arranged in two rows of the nozzle set table(No in Step S132 in FIG. 15), increments the task number (Step S133 inFIG. 15) and examines the feasibility (Step S134 in FIG. 15). Namely,the nozzle set determination unit 305 a increments the task number ofthe nozzle set having fewer “empty” X₁₂ by 1 so as to make “2” andrearranges them in the second row of the nozzle set table. In moredetail, as shown in FIG. 17C, the components S(7) which are left afterthe arrangement in the first row of the nozzle set table are divided bythe task number “2” and arranged in descending order of the number ofcomponent groups (here, in order of S(2), S(2), S(2), S(1)) in thesecond row of the nozzle set table.

The nozzle set determination unit 305 a judges that the task number(X₁₁=43, X₁₂=2) is a feasible solution since all the components arearranged in the two rows of the nozzle set table (Yes in Step S135 inFIG. 15), decrements the task (Step S136 in FIG. 15) and examines thefeasibility (Step S137 in FIG. 15). Namely, the task number of thenozzle set having more “empty head” is incremented by 1 to make “42” andrearranges them in the first and second rows of the nozzle set table. Tobe more precise, the two component groups at the initial state aredivided by the new task number X₁₁ (“42”) as shown in FIG. 17D andarranges them in descending order of the number of components (here, inorder of S(42), M(42), M(42), M(42), M(41)) in the first row of thenozzle set table, divides the remaining components S(8) by the tasknumber X₁₂ (“2”) and arranges them in the second row of the nozzle settable.

The nozzle set determination unit 305 a judges that the task number is afeasible solution since all the components are arranged in two rows ofthe nozzle set table (Yes at Step S138 in FIG. 15) and then judgeswhether or not the total task number X_(N) (=X₁₁+X₁₂=42+2=44) equals tothe minimum task number X_(min) (44) (Step S139 in FIG. 15). Since thetotal task number X_(N) equals the minimum task number X_(min), theprocessing of searching the task number is terminated. That is to say,the task set (total task number×2=44) shown in FIG. 17D is determined asa solution for the nozzle set number “2”.

It should be noted that in the above example, that is, the case ofmounting components S(50) and M(167), the searched out task number X_(N)equals to the minimum task number X_(min) “44” when the nozzleinterchange time N is 1. Therefore, the ending condition for searchingnozzle set is satisfied (Step S103 in FIG. 10). The nozzle setdetermination unit 305 a then selects the optimal combination from amongthe combinations that are searched so far, respectively, composed of thenozzle interchange time N and the task number X_(N) (Step S105 in FIG.10). To be more specific, two combinations are searched out as shown inFIG. 18, that is, (N=0, X_(N)=50) and (N=1, X_(N)=44). The nozzle setdetermination unit 305 a therefore calculates the evaluated values S(“50” and “46’) by substituting these values N and X_(N) in theevaluation function (here, h=2) and determines the smallest value as theoptimal nozzle set in the case in which nozzle interchange time N is 1.Accordingly, the nozzle set determination unit 305 a determines that itis optimal to mount the components S (50) and M (167) using the twotypes of nozzle sets shown in FIG. 17D.

It should be noted that, in the procedure of determining a nozzle set asdescribed above, the search is conducted with an assumption that thereare no restrictions on the number of various pickup nozzles (nozzleresource). However, there is actually a case in which a nozzle resourceis subjected to such restriction). In this case, a case in which thenozzle set judged as a feasible solution in the procedure turns out tobe no longer a feasible solution can be generated. For example, thenozzle sets S, M, M, M, M shown in FIG. 14E are presented as nozzleresource presupposing that a single S-typed pickup nozzle and fourM-typed pickup nozzles can be used at the same time. If the nozzleresource is restricted to a single S-typed pickup nozzle and threeM-typed pickup nozzles, the nozzle set in this case is not a feasiblesolution any more. Accordingly, the procedure described above cannot beapplied to the case in which the nozzle resource is restricted.

When there is a restriction on nozzle resource, the following procedurecan be added to the procedure used in the case without any restrictionson nozzle resource as described above.

(1) The expression used for the component group calculated by dividingthe components by the task number is A (B, C) instead of A (B).

“A” here is a type of pickup nozzle, for instance, “S”, “M” or othercharacters while “B” is the number of components and “C” is a flagindicating whether or not the nozzle resource conditions are satisfied(1: OK, 0: NG).

It should be noted that “C” assigns “1” to the component groups whichare within the range of nozzle resource and “0” to the rest of thecomponent groups downward and rightward in the table, starting from thecomponent group at the head. The flag attachment is for enabling thedetection of whether the restrictions on nozzle resource are respectedor not.

(2) When the component group A (B, 0) in which a value of “C” is “0” isfound in the row in the nozzle set table as a result of the procedure(1), the component group is shifted to the one below. Namely, thecomponent groups which do not comply with the restriction are to beexamined for the next nozzle set with the view to respect therestrictions on nozzle resource.

The following describes the procedure of determining a nozzle set inwhich the restriction on nozzle resource is taken into considerationwith reference to FIGS. 19 and 20. FIGS. 19 and 20 are examples forshowing the procedure used for searching the task number X_(N) when thenozzle interchange time N is 1.

Supposing that the components to be mounted are made up of 100 S-typedcomponents and 120 M-typed components, whereas nozzle resource isdefined as 2 S-typed pickup nozzles and 2 M-typed pickup nozzles and thehead number of the line gang pickup head is 5. Based on thesepresumptions, the minimum task number X_(min) can be calculated asfollows:

$\begin{matrix}{X_{\min} = {\left( {100 + 120} \right)\text{/}5}} \\{= 44}\end{matrix}$The nozzle set determination unit 305 a therefore assigns, respectively,X₁₁ (=43) and X₁₂ (=1) as initial task numbers for two nozzle sets (thefirst and the second nozzle sets), as in the case shown in FIG. 16.

The nozzle set determination unit 305 a firstly generates a nozzle settable in which the two component groups S (100, 1) and M(20, 1) shown inFIG. 20A arranged as an initial state.

The nozzle set determination unit 305 a then rearranges these twocomponent groups by dividing them by the initial task number X₁₁mentioned above as shown in the nozzle set table in FIG. 20B. To be moreprecise, the two component groups are divided by the initial task numberfor the first nozzle set X₁₁ (=43) and rearranged in descending order ofthe number of component groups for each nozzle type (here, in order ofS(43, 1), S(43, 1), S(14, 0), M(43, 1), M(43, 1), M(34, 0)) in the firstand second rows in the nozzle set table. It should be noted here that aflag C, indicating nozzle resource condition, under which the numbers ofS-typed pickup nozzles and M-typed pickup nozzles are limited to 2 isrespectively defined as follows: the flag C for the first two componentgroups S (43, C) and S (43, C) as well as M (43, C) and M (43, C) is “1”while the flag C for the remaining component groups such as S (14, C)and M (34, C) is “0”.

As shown in FIG. 20C, the component groups which do not comply with therestriction on nozzle resource, namely, the component group M(34, 0) andS(14, 0) having a flag C as “0” in the first row to which the attentionis given are shifted to the second row and rearranged without making anyspaces.

The nozzle set determination unit 305 a then divides the two componentgroups M(34, 0) and S(14, 0) arranged in the second row by the initialtask number X₁₂, attaches a flag C according to the restriction onnozzle resource in the same manner as described above, and rearrangesthe component groups so that the component groups having a flag C as “0”are located in the third row as shown in the nozzle set table in FIG.20D. To be more specific, the two component groups M(34, 0) and S(14, 0)are firstly divided by the initial task number for the second nozzle setX₁₂ (“1”) and the component groups are arranged in the second row andthen to the third row in an order of M (1, 1), M (1, 1), S (1, 1), S (1,1), M (32, 0) and S (12, 0). This is operated by setting the flags C ofthe first two component groups as “1” and setting the flags C of theremaining component groups as “0”, for both types of S and M, afterarranging them in descending order of the number of component groups.

The nozzle set determination unit 305 a judges that the task number(X₁₁=43, X₁₂=1) is not a feasible solution from the fact that all thecomponent groups cannot be arranged in two rows in the nozzle set tableand repeats the increment of the task number and the examination of thefeasibility. Namely, the following processing will be repeated until afeasible solution is searched out: incrementing the task number X₁₁ ofthe nozzle set having fewer “empty head” (here, the first and secondnozzle sets have the same number of “empty head,” therefore, the firstnozzle set with the smallest number) by 1; and examining the task number(X₁₁=44, X₁₂=1) in the same manner (FIGS. 20B-20D).

Assuming here that the increment of the task number X₁₁ is repeated andreached the examination of the task number (X₁₁=59, X₁₂=1). The nozzleset determination 305 a divides two component groups S (100, 1) and M(120, 1) by the task number X₁₁ and rearranges them as shown in thenozzle set table in FIG. 20E. To be more precise, the two componentgroups are divided by the task number for the first nozzle set X₁₁ (=59)and are arranged in descending order of the number of component groups(here, in an order of S (59, 1), S (41, 1), M (59, 1), M (59, 1), M (2,0)) for each nozzle type in the first row of the nozzle set table.

As shown in FIG. 20F, the component groups which do not comply with therestriction on nozzle resource, that is, the component group M (2, 0) ofwhich the flag C is “0” in the first row, to which the attention isgiven, is shifted to the second row.

The nozzle set determination unit 305 a then divides the component groupM (2, 0) arranged in the second row by the initial task number X₁₂,attaches the flag C according to the restriction on nozzle resource inthe same manner as described above, and arranges the component groups asshown in the nozzle set table in FIG. 20G. To be more specific, thecomponent group M(2, 0) is divided by the task number for the secondnozzle set X₁₂ (“1”) and is arranged in the order of M (1, 1) and M(1,1) in the second row by setting the flag C of the first two componentgroups for the type M as “1” after having arranged them in descendingorder of the number of component groups.

The nozzle set determination unit 305 a judges that the task number(X₁₁=59, X₁₂=1) is a feasible solution since all the components can bearranged in two rows in the nozzle set table. Subsequently, thedecrement of the task number and the examination of the feasibility areperformed with the same basic procedure as used for incrementing thetask number. Namely, it is possible to determine the nozzle set forwhich the restriction on nozzle resource is taken into consideration byadding procedures (1) and (2) described above to the procedure used inthe case which does not take the restriction into consideration.

Thus, it is possible to determine the nozzle set for which theconstraint on nozzle resource is taken into account as well as the totaltask number, when nozzle interchange time N is 1. It should be notedthat in the case in which there is the restriction on nozzle resource, acombination of a nozzle interchange time and a total task number isdetermined and the combination having the smallest evaluated valuecalculated based on the evaluation function is determined as the optimalnozzle set from among the specified combinations as in the case wherethere is no restrictions on nozzle resource.

The following shows the results of examining an algorithm thatdetermines a nozzle set for various boards (various component sets)performed by the nozzle set determination unit 305 a.

FIGS. 21 and 22 are diagrams showing the nozzle set tables obtained byusing an IP solver (section where “strict solution” is indicated on theright) and nozzle set tables obtained by using the algorithm accordingto the present embodiment (section where “embodiment” is indicated onthe right) for various boards (various component sets). It should benoted that an IP solver is a general purpose program for solvingoptimization issues formulated as integer planning issues, taking time.

FIGS. 21A-21D are diagrams showing the optimal solutions searched outfor various boards. In FIG. 21A, a board has 224 components of type 1and 2 components of type 2 while in FIG. 21B, a board has 101 componentsof type 1, 32 components of type 2, 4 components of type 3, 18components of type 4 and 2 components of type 5. In FIG. 21C, a boardhas 50 components of type 1 and 167 components of type 2 while in FIG.21D, a board has 5 components of type 1, 34 components of type 2, 2components of type 3 and 2 components of type 4. FIGS. 21A-21Drespectively shows a solution that is searched out when nozzle setnumber n is “1”.

FIGS. 22A-22D are diagrams showing the solutions searched out for aboard having 50 components of type 1, 10 components of type 2, 650components of type 3, 50 components of type 4, 50 components of type 5,200 components of type 6, 20 components of type 7, 215 components oftype 8 and 15 components of type 9. FIGS. 21A-21D show the solutions forthe cases in which the nozzle set number n is respectively 1, 2, 3 and4.

As is obvious from FIGS. 21 and 22, according to the algorithm used inthe present embodiment, a solution which corresponds or almostcorresponds to a strict solution is searched out. As for the calculationtime (not shown in the diagram, though) with the use of a versatilepersonal computer, it took more than 10 minutes for some boards in thecase of using the IP solver, whereas the calculation is made within asecond for any board in the case of using the algorithm used in thepresent embodiment. Based on this, it is obvious that an optimalsolution that is a strict solution or almost a strict solution can beobtained with extremely high speed using the algorithm according to thepresent embodiment.

It is noted here that, in the above embodiment, a method of searchingthe task number by incrementing or decrementing the minimum task numberX_(min) by 1 in consideration of a frequency of “empty head” when thenozzle interchange time N is 1 or more is introduced. The presentinvention, however, is not limited to such search method. For example,all the possible combinations for the number of tasks can be searchedout and a round-robin search method of determining the combination thatgenerates the smallest total task number as an optimal solution out ofthem can be employed. However, the following combinations can beexcluded from the search: a combination for which the search isobviously not necessary; and a combination for which the search turnsout to be unnecessary since a feasible solution is discovered.

FIG. 23 is a flowchart showing the procedure of determining the tasknumber using such round-robin search method. FIG. 24 is a diagramshowing a specific example. FIG. 24 shows all the possible combinationsfor the task number (X₁₂, X₁₁) when nozzle interchanging time N is 1,presupposing that the number of components is 60 (including 11 of type1, 11 of type 2, 11 of type 3, 10 of type 4 and 9 of type 5 and 8 oftype 6) and the number of heads on the line gang pickup head is 10. Forexample, a combination (1, 2) means that two tasks are executed usingthe first nozzle set and a single task is executed using the secondnozzle set.

The round-robin search method restricts a search range for everycombination (S150). To be more precise, the restriction is set based onsymmetry in task numbers. For example, for the combinations (1, 2) and(2, 1), either of them needs to be searched out. Therefore, for example,the search range can be limited to the combination (X₁₂, X₁₁) whichsatisfies X₁₂≦X₁₁ (Condition 1).

Then, the above search range is limited further based on minimum tasknumber. In this example, the minimum task number is 60/10=6, namely, thesearch range can be limited to the combination (X₁₂, X₁₁) whichsatisfies X₁₁+X₁₂≧6 (Condition 2).

Furthermore, the above search range is limited based on maximum tasknumber. In this example, the maximum task number (task number when typesof nozzle set 1-6 are used) is 11, therefore, the search range islimited to the combination (X₁₂, X₁₁) which satisfies X₁₁+X₁₂≦11(Condition 3). FIG. 24 shows the search range satisfying the above threeconditions 1-3 indicated in an area in full line.

Then, each of the combinations searched out in the search range limitedin the above steps is examined sequentially whether or not it is afeasible solution downward and rightward through the table (S151). Moreprecisely, the component division and the arrangement of componentgroups as shown in FIG. 17C are attempted firstly for the combination(1, 5) in FIG. 24. When all the components are not arranged within tworows of the nozzle set table, it is judged as not feasible, and then,the next combination (1, 6) is examined in the same manner.

Here, when the search for all the combinations within the above searchrange is completed (No in S152), the feasible solution searched outlastly is determined as a final result (a nozzle set to be obtained) andthe processing is terminated (S156).

When a feasible solution is found while the search range to be examinedsill remains (Yes in S153), in the case in which the search rangeincludes the combination whose total task number is smaller remains (Yesin S154), the search range is restricted to the range as such (S155) andthe search is repeated (S151). When there remains no such search rangeincluding the combination whose total task number is smaller (No inS154), the feasible solution that is eventually searched out isdetermined as a final result (a nozzle set to be obtained) and theprocessing is terminated (S156).

For example, when it is judged that the combination (1, 8) is a feasiblesolution, the search range is restricted to the combination in which thetotal task number is to 9 or smaller. Consequently, the next search istargeted not on the combination (1, 9) but (2, 4), (2, 5), . . . .Similarly, when the combination (2, 6) turns out to be a feasiblesolution, only the combination in which the total task number is smallerthan or equal to 8 such as (3, 3) and (3, 4) are targeted for search.Here, when the combination (3, 4) turns out to be a feasible solution,this is determined as a final optimal solution, that is, an optimalnozzle set (the total task number is 7) when nozzle interchange time Nis 1, since the search range is examined thoroughly.

Thus, the round-robin search method is advantageous, compared to themethod described in FIG. 15, in the respect that the optimal solution(nozzle set and total task number) can be surely obtained because allthe possible combinations are examined without fail, although the searchtime increases as the number of targets for search increases.

It should be noted that FIG. 24 explained above shows the case in whichthe nozzle interchange time N is 1, that is to say, the task number istwo-dimensional. The search, however, can be conducted in the same wayeven when the nozzle interchange time N is 2 or greater. Namely, onlythe dimension of the task number and that of the search area increasewhile the restriction on the search range, and the search method are thesame as in the case of using two dimensions.

The nozzle set determination unit 305 a may determine the optimal nozzleset not only by using either such round-robin search method or thesearch method based on the minimum task number, but also by executingone of these two search methods selectively. For instance, a mixedmethod of using the search method based on the minimum task number whenthe search time is to be prioritized and using the round-robin searchmethod when the accuracy of the optimization is to be prioritized may beapplied.

The following describes the detailed operation of the nozzle patterndetermination unit 305 b in the optimization program storing unit 305shown in FIG. 6.

The nozzle pattern determination unit 305 b determines, for at least onenozzle set determined by the nozzle set determination unit 305 a, headpositions of the various pickup nozzles constituting each nozzle set sothat the frequency of interchanging the pickup nozzles when mountingcomponents (i.e., the number of pickup nozzles to be interchanged) isreduced, and also determines a nozzle pattern by determining a mountingorder for each of the nozzle sets. In more detail, for example, thenozzle pattern is determined under the following rules.

(1) The operation is carried out in sequence for the tasks belonging tothe same nozzle set. Namely, the operation is not performed for the taskthat belongs to other nozzle sets during the operation.

(2) For 2 or more nozzle sets, a nozzle pattern is determined for allthe permutations being made up of these nozzle sets (except for thepermutation which has a symmetrical order of numbers), using theprocedure described below. For example, in the case of three types ofnozzle sets 1, 2, and 3, nozzle patterns are determined only for thepermutations of the three types, (1, 2, 3), (1, 3, 2) and (2, 1, 3) sothat other permutations having a symmetric order in numbers such as (2,3, 1), (3, 1, 2) and (3, 2, 1) are excluded. This is because suchpermutations have the same number of nozzle interchange time at the timeof mounting components. Therefore, it is enough to examine one of thepairs for searching an optimal solution.

(2-i) When arranging the nozzle sets, the head positions of the pickupnozzles constituting the nozzle set are determined so that the pickupnozzle of the same type is located in the same head position as islocated for the nozzle set previously arranged as many as possible. Thisis because in the case in which the pickup nozzle of the same type islocated in the same head position when the nozzle sets are interchangedat the time of mounting components, there is no need to interchange thenozzle sets for the pickup nozzle located in the same head position, andthus, the time taken for nozzle interchange can be reduced.

(2-ii) A permutation, in which the number of pickup nozzles to beinterchanged at the time of mounting components is the smallest, isdetermined as an optimal nozzle pattern out of all the permutations forthe nozzle set.

FIGS. 25A-25D are diagrams showing a specific example explaining theprocedure used for determining the nozzle pattern by the nozzle patterndetermination unit 305 b. Suppose here that the nozzle set determinationunit 305 a determines the nozzle sets 1-3 shown in FIG. 25A and thenozzle pattern determination unit 305 b determines accordingly anoptimal nozzle pattern.

The nozzle pattern determination unit 305 b firstly specifies threepermutations (the permutation shown as FIGS. 25B-25D), except for thepermutations having the symmetric order, as the permutations for thethree types of nozzle sets 1-3. Then, the nozzle pattern determinationunit 305 b determines the head positions of the pickup nozzles so thatthe number of the pickup nozzles to be interchanged at the time ofmounting components is fewer for the respective three permutations.

For example, in the case of the permutations shown in FIG. 25B (ofnozzle sets 1, 2 and 3), the nozzle pattern determination 305 b firstlyarranges the nozzle set 1 (S, S, S, S) and then the nozzle set 2 (S, S,M, M). When arranging the nozzle set 2, the head positions of the pickupnozzles are determined so that the pickup nozzle of the same type islocated in the same head position as arranged for the nozzle set 1 asmany cases as possible. However, the number of interchanging nozzles tobe generated is 2 no matter at which head position the pickup nozzle isarranged (the nozzle interchange is necessary at the time ofinterchanging nozzle sets for two M-typed pickup nozzles surrounded bydot lines in the diagram) so that the nozzles are arranged in the headpositions of the nozzle set 2 shown in FIG. 25A.

Similarly, the nozzle set 3 (M, M, M, L) is arranged. In this case, thehead positions of the pickup nozzles are arranged as (M, L, M, M) sothat the pickup nozzle of the same type is located in the same headposition as for the nozzle set 2 (S, S, M, M) previously arranged, asmany cases as possible. Thus, the number of nozzles to be interchangedis 2, the smallest (shown in dot line) when nozzle interchanging fromthe nozzle set 2 to the nozzle set 3. In this way, the nozzle pattern atthe time of mounting components is determined. The nozzle pattern of thefirst permutation shown in FIG. 25B, namely, for the first 6 tasks, thenozzle pattern of (S, S, S, S) is used; the nozzle pattern (S, S, M, M)is used for the next one task; and the nozzle pattern (M, L, M, M) isused for the last one task. The total number of interchanging nozzles,in this case, is 4.

Similarly, the nozzle pattern and the nozzle interchange time aredetermined for other two permutations (FIGS. 25C and 25D) by determiningthe head positions of the pickup nozzles. The nozzle patterndetermination unit 305 b lastly determines the nozzle pattern with fewerinterchange time (here, FIG. 25B) as the optimal nozzle pattern, out ofthe three types of permutations. Thus, the nozzle pattern in which thenozzle interchange time is the smallest at the time of mountingcomponents is determined, and the arrangement of tasks (nozzle pattern)enabling the component mounting within a shorter time is thus searchedout.

It should be noted that when the nozzle interchange time for thepermutation surpasses the already-calculated smallest nozzle interchangetime in the process of determining the head positions of the pickupnozzles, the processing may be terminated at that time. For instance, atthe time of arranging the nozzle set 3 shown in FIG. 25C, theinterchange time for the permutation is 4 which equals to theinterchange time of the nozzle pattern shown in FIG. 25B that is alreadydetermined so that the processing for FIG. 25C may be terminated at thattime.

The nozzle pattern determination unit 305 b having determined the nozzlepattern, then determines an arrangement of nozzles at the nozzle station119 based on the determined nozzle pattern. It should be noted herethat: (1) the nozzle station 119 is a table having a space for arrangingthe pickup nozzles in the place of row “n” and column “m”; (2) it ispossible to arrange any type of pickup nozzles in any n×m number ofplaces; (3) each head of the line gang pickup head 112 in any n×m numberof places can be interchanged; (4) plural pickup nozzles of the linegang pickup head 112 can be interchanged simultaneously as the pickupnozzles at the nozzle station 119 are arranged with the same pitch asthe head pitch of the line gang pickup head 112; and (5) the pickupnozzles are to be returned to the original places.

More precisely, the nozzle pattern determination unit 305 b determinesan arrangement of the nozzles at the nozzle station using the followingprocedure.

(1) It is determined with the same nozzle arrangement as used in thenozzle pattern determined in the above procedure (the nozzle pattern notin consideration of task number). To be more specific, when the nozzlepattern is determined to be the one shown in FIG. 26A, the nozzlearrangement is determined to be the one shown in FIG. 26B. Namely, thesame nozzle arrangement as the one that does not take task number intoconsideration for the nozzle pattern shown in FIG. 26A (the valuesindicated in “Task No.” in the table are ignored and the type of nozzlesets is given attentions) is determined.

(2) Here, when the number of pickup nozzles is restricted, the pickupnozzles of the same type arranged in the same head position are excludedas shown in FIG. 26C.

(3) Moreover, when there is a restriction on the space at the nozzlestation 119, the empty space generated in the above step (2) is filledup by shifting the position of arrangement as shown in FIG. 26D.

Thus, the nozzle pattern determination unit 305 b determines the nozzlearrangement at the nozzle station 119 to be the one similar to thenozzle pattern decided previously as much as possible. Therefore, thetime taken for the nozzle interchange is reduced.

Next, the detailed operation of the Z-axis arrangement/mounting orderoptimization unit 305 c will be explained.

The Z-axis arrangement/mounting order optimization unit 305 c is aprocessing unit of determining the Z-axis arrangement and the mountingorder in which a total mounting time is the smallest while keeping thenozzle pattern and the nozzle arrangement at the nozzle stationdetermined by the nozzle pattern determination unit 305 b. The Z-axisarrangement/mounting order optimization unit 305 c determines themounting order by grossly classifying the components to be mounted into“small components” and “general components” and respectively applyingdifferent optimization algorithm.

It should be noted that a small component is a chip component sizedbelow 3.3 mm such as a resistance and a condenser, and every width ofits taping is 8 mm, and can be mounted on the line gang pickup head 112(for instance, pick up simultaneously ten components). Among many of theboards, which are recently produced, most of them are small components(e.g., more than 90%). A general component is what is left afterexcluding the above small components, that is, a big deformed componentsuch as a connector, an IC, or the like. It might be provided on thetray or might need a special nozzle so that many parameters are to beconsidered during the optimization.

The Z-axis arrangement/mounting order optimization unit 305 c takes thecharacteristics of the above small and general components into account.For the small components, the mounting order is determined using thealgorithm that can generate the task of mounting the components on theline gang pickup head 112. Namely, the algorithm that can generate thetask of picking up ten components at the same time as many as possibleso as to perform optimization processing with high speed (referred to as“cut down process” to be mentioned later). For the general components,the mounting order is determined using the algorithm that is flexiblefor searching the optimal state by repeating the evaluation whilevarying the state of task (one of possible mounting orders).

FIGS. 27-32 are diagrams showing specific examples explaining theoptimization procedure for the small components based on “cut downprocess” performed by the Z-axis arrangement/mounting order optimizationunit 305 c.

This process uses a component histogram where components are arranged indescending order of the number of components to be mounted along theZ-axis, and utilizes the above pickup pattern generating method onlywhere it is not possible for the line gang pickup head to simultaneouslypick up the maximum (L) number of components. This method is also madeup of two main steps, a first step and a second step. Note here that acomponent histogram is a histogram produced with the component feeders114 (component tapes) on the horizontal axis (Z-axis) and the number ofcomponents to be mounted on the vertical axis. A pickup pattern is adiagram showing more than one task group to be picked up simultaneouslyby the line gang pickup head 112 when the vertical axis indicates anorder of components picked up by the line gang pickup head 112 and thehorizontal axis indicates an arrangement (Z-axis) of component feeders(tapes) 114. Each component to be picked up (a mounting point) isindicated by a unit of rectangular (square or rectangular).

In the first step of the cut down process, the Z-axisarrangement/mounting order optimization unit 305 c removes (“cut down”)tasks composed of L consecutive components repeatedly from the componenthistogram.

FIGS. 27 and 28 show the operation performed in the first step of thepresent cut down process. FIG. 27 shows a component histogram 450 inwhich component tapes for all of the components to be mounted have beenarranged in descending order of the number of components to be mounted.FIG. 28 shows how L (in the illustrated example, ten) consecutivecomponents are removed at a time (i.e., “cut down”) from the componenthistogram 450 in FIG. 27. The cutting down processing is performed byremoving L consecutive components (shown by the sets of ten consecutivecircles, triangles or crosses in FIG. 28) from the right side of thecomponent histogram so that component tapes with few components to bemounted are removed first. This is repeated until it is no longerpossible to take a remove of L consecutive components.

In the second step of the cut down process, the Z-axisarrangement/mounting order optimization unit 305 c generates a diagramfrom a component histogram made up of the components that remain aftercutting down has been performed in the first step.

FIGS. 29 and 30 show how the second step of the cut down process works.FIG. 29 shows a reconstructed component histogram 451 produced byarranging the component tapes, which are left over after the first stepof the cut down process has been performed, in descending order of thenumber of components to be mounted. FIG. 30 shows how a diagram isgenerated from the reconstructed component histogram 451 in accordancewith the task group generating method described earlier. It should benoted that due to the processing in the first step of the cut downprocess, the width (i.e., the number of component tapes) of thereconstructed component histogram 451 is definitely (L−1) or below.

In more detail, the processing in the second step is composed of thefollowing sub-steps.

(i) The component histogram 451 shown in FIG. 29 is generated for thecomponents left after the cutting down in the first step, and the totalnumber of components to be mounted (in the illustrated example, 100) iscalculated.

(ii) The calculated total number of components is divided by L (in theillustrated example, 10) and pickup patterns are generated with theobject of setting the number of tasks equal to the result of thedivision (in the illustrated example, 10).

(iii) The above object is achieved as follows. As shown in FIG. 30,component tapes for which the number of components to be mounted exceedsthe calculated number of tasks (10) are identified and the excess numberof components 451 a (or divided parts of this excess number) are takenand used to supplement the left side of the component histogram 451.

FIG. 31 shows the pickup patterns 452 for component tapes whosepositions on the Z-axis have been determined by the first and secondsteps of the cut down process described above. As shown in FIG. 31, allof the components form tasks containing the maximum number (10) ofcomponents, so that mounting can be performed with the highest possiblepickup efficiency.

FIG. 32 shows a component histogram 453 corresponding to the pickuppatterns 452 shown in FIG. 31. This component histogram 453 isreconstructed without changing the positions in the Z-axis. As can beseen from the component histogram 453, the cut down process maintainsthe tendency for component tapes with large numbers of components to bearranged to the left. This means that the cut down process determines anarrangement of components having considered the movement paths taken bythe line gang pickup head 112. These movement paths are such that afterpicking up components from the right block 115 b, the line gang pickuphead 112 definitely passes in front of the 2D camera that is arranged tothe left of the right block 115 b. By minimizing the total distancemoved by the line gang pickup head 112, the cut down process produces anarrangement of components that reduces the total tact time. It should benoted that processing that is symmetrical in the Z-axis may be performedfor the left block 115 a. In other words, component tapes can bearranged in ascending order of components to be mounted and then taskscan be cut down using the procedure described above.

Thus, the Z-axis arrangement/mounting order optimization unit 305 cdetermines the mounting order in units of arrangements (Z-axis) ofcomponent tapes and tasks so that efficiency in picking up smallcomponents by the line gang pickup head 112 is maximized.

FIGS. 33-35 show the processing for the optimization of generalcomponents performed by the Z-axis arrangement/mounting orderoptimization unit 305 c.

FIG. 33A is a flowchart showing the procedure used when the Z-axisarrangement/mounting order optimization unit 305 c optimizes themounting order of general components. FIG. 33B is used to show theapproach used by this procedure to find the optimal solution andillustrates the tact times for the various states that can be used. Itshould be noted here that a state is one of the possible orders inmounting the components to be mounted and is represented by the array ofthe component feeders on the Z-axis and task composition which areparameterized.

As shown in FIG. 33A, the Z-axis arrangement/mounting order optimizationunit 305 c first generates an initial state X for all of the generalcomponents (S550). After this, the Z-axis arrangement/mounting orderoptimization unit 305 c performs optimization on the initial state Xaccording to the hill climbing method, resulting in the calculation ofthe optimized state Xopt (S551). Next, the Z-axis arrangement/mountingorder optimization unit 305 c performs optimization on the initial stateX according to the multi-canonical method to update the optimized stateXopt calculated in step S551 (S552). Finally, the Z-axisarrangement/mounting order optimization unit 305 c performs optimizationon the updated optimized state Xopt according to the hill climbingmethod to further update the optimized state Xopt calculated in stepS552 (S553).

In this way, optimization according to the multi-canonical method thatsearches for an optimal solution from a global viewpoint (S552) isperformed at a midpoint of the execution of optimization according tothe hill climbing method that definitely finds a locally optimalsolution (S551, S553). As a result, cases where the search for theoptimal state ends with a state that is optimal on a local level butsub-optimal on a global level (state {circle around (1)} shown in FIG.33B, for example) can be avoided, enabling a state that is optimal on aglobal level (state {circle around (5)} in FIG. 33B) to be found.

FIG. 34 is a flowchart showing the detailed procedure used whenperforming optimization according to the hill-climbing method shown inFIG. 33A (S551, S553). After generating this initial state X (S560), theZ-axis arrangement/mounting order optimization unit 305 c repeatedlyperforms the inner loop (S562 to S568) until the outer loop endconditions are satisfied (S561). Here, the expression “outer loop endconditions” refers to conditions for ensuring that the optimal solutionis indeed optimal, with these conditions changing every type ofparameter that can affect the state. The expression “inner loop endconditions” refers to conditions that change (i.e., search) one type ofparameter within a predetermined range.

During the inner loop, the Z-axis arrangement/mounting orderoptimization unit 305 c first generates the state candidate Xtmp using astate variation selected out of nine types of state variation (S563,S564). When this state candidate Xtmp has feasibility (i.e., canpotentially be used) (S565) and has a tact time that is shorter than theimmediately preceding state (S566, S567), the Z-axisarrangement/mounting order optimization unit 305 c updates the state andtact time using this state candidate Xtmp and its tact time (S568). Inthis way, the inner loop definitely finds states that are optimal on alocal level.

FIG. 35 is a flowchart showing the detailed procedure used whenperforming optimization according to the multi-canonical method (S552)shown in FIG. 33A. In FIG. 35, a “bin number” is a number showing asection (“bin”) produced by equally dividing the horizontal axis shownin FIG. 33B (all of the possible states) by N. Histogram H[i] meanwhileis a variable storing the total number of times a state candidate Xtmpbelonging to the bin with the bin number [i] has been selected (S576,S577) and it has been judged that the state candidate Xtmp is feasible(S578) and reduces entropy (S579 to S581).

As can be understood by comparing the flowchart in FIG. 35 with theflowchart for the hill-climbing method that is shown in FIG. 34, the twomethods are similar in repeating a series of processes where a statecandidate Xtmp is generated from the initial state X and then it isjudged whether this state candidate Xtmp should be accepted. Thedifference between the methods lies in the method used to judge whetherthe state candidate Xtmp should be accepted. In the hill-climbing methodshown in FIG. 34, a definite judgment is made to accept the statecandidate Xtmp if its tact time is lower than the tact time of the stateX. However, in the multi-canonical method shown in FIG. 35, the entropyexhibited by the tact time is examined and a probability-based judgmentis made whether to accept the state candidate Xtmp (S580 to S582).

It should be noted here that plural state variations to be selected bythe Z-axis arrangement/mounting order optimization unit 305 c (FIG. 34in S564 and S577 in FIG. 35) are as follows: (1) two mounting points inthe different tasks are interchanged; (2) the mounting orders of twomounting points in the same task are interchanged; and (3) two componenttapes are interchanged, or the like. The checking of feasibilityperformed by the Z-axis arrangement/mounting order optimization unit 305c (S565 in FIG. 34, S578 in FIG. 35) is to confirm that there occurs nointerferences between the components when the components are picked upby the line gang pickup head 112 in each task, or the like.

Thus, the Z-axis arrangement/mounting order optimization unit 305 c doesnot only optimizes the general components on a local level but alsooptimizes a probability-based search so that the problem of calculatinga local minimum as an optimal solution can be avoided.

Thus, according to the optimization apparatus 300 a used in the presentembodiment, firstly, the nozzle set determination unit 305 a determinesa nozzle set, and then, the nozzle pattern determination unit 305 bdetermines a nozzle pattern, and lastly, the Z-axis arrangement/mountingorder optimization unit 305 c determines a Z-axis arrangement and amounting order for the mounting points (task order) in order to find anoptimal order of mounting components. Accordingly, the mounting order isdetermined so as to shorten firstly the nozzle interchange time whichmakes up a great part of the total mounting time, therefore, themounting time as a whole can be greatly reduced.

It should be noted here that the present embodiment shows that a singlecomponent is picked up by each head composing the line gang pickup head(the number of components to be picked up by the pickup nozzle is 1).The present invention, however, is not limited to this case and can beapplied to the case in which the number of components to be picked up bythe pickup nozzle is more than 2. Namely, when a large sized componentis picked up by the line gang pickup head, the component occupies thespatial area of the neighboring head and thereby the component cannot bepicked up by the neighboring head. The number of components to be pickedup by the pickup nozzle can be therefore taken into account depending onthe type of component. In more detail, the nozzle set may be searched bysetting the flag that cannot be arranged to the neighboring head as inthe case of having the restriction on nozzle resource.

In the present embodiment, the nozzle set determination unit 305 adefines the task number X_(N) in the procedure shown in FIG. 15 when thenozzle interchanging time N is 1 or more. The present invention,however, is not limited to such simple procedure. Namely, the tasknumber is incremented when it is not a feasible solution at an initialstate, and when it is a feasible solution, whether the task number canbe decremented is examined. When the task number cannot be decremented,the processing is terminated. The present invention, however, is notlimited to this procedure and new procedure S160-S163 can be added tothe procedure shown in FIG. 15, as shown in FIG. 36. According to theprocedure shown in FIG. 36, even when the feasible solution is notobtained as a result of decrementing the task number, the processreturns to the procedure of incrementing again the task number whenthere remains the nozzle set to which modifications can be made (i.e.,change in the task number) (S162, S163). Namely, the flow is not singleas follows: increment in task numbers decrement in task numbers. Theflow can be repeated, for instance, increment in task numbers→decrementin task numbers decrement or increment in task numbers. Therefore, thetask number can be modified or not is examined even immediately afterthe task number has been incremented (S160, S161). Here, the expression“not modifiable” is a case in which the following conditions aresatisfied.

(1) When the nozzle set whose task number is decremented in updating(i.e., decrement) the previous task number is to be incremented inupdating (i.e., increment) the next task number, or vice versa. Namely,it is determined as “not modifiable” when it applies to an indefiniteloop in which the task number of the same nozzle set is incremented,decremented and then incremented.

(2) When every possible range is searched, namely, the nozzle set isdetermined as “not modifiable” for the following cases and the nozzleset is excluded from the target for modification.

(2-1) When the size relation between the nozzle set n and the tasknumbers X₁₁, X₁₂ is reversed, namely, the relation of X₁₁≧X₁₂≧X₁₃ . . .X_(1n) is no longer established while increment and decrement of thetask number is repeated, the order of the nozzle set is not taken intoaccount in the determination of the nozzle set, therefore, the sameresult can be obtained using either (X₁₁, X₁₂)=(X, Y) or (X₁₁, X₁₂)=(Y,X).

(2-2) When the task number is 1 or below. The nozzle set cannot bemodified when the task number is updated to “0”. This is because thetask number=0 means that the number of nozzle sets is reduced by 1 andthereby does not apply to the concept of calculating the task number forthe present number of nozzle sets.

When the condition (1) described above is satisfied, it is determined as“not modifiable” as it goes beyond the limit of the search method inuse. The (2-1) and (2-2) are restrictions for avoiding unnecessarysearch. When all the nozzle sets satisfy these conditions, it isdetermined as “not modifiable” since every possible range is alreadysearched. By conducting such search, the possibility to find out themore optimal solution is enhanced.

As is obvious from the above description, according to the componentmounting order optimization method used in the present embodiment, thenozzle set and the task number are determined based on the algorithm bywhich not only the total task number but also the nozzle interchangetime are simultaneously decremented while the order of mountingcomponents and the array of component feeders are determined based onthe determined nozzle set and task number. The interchange time whichmakes up a large part of the total tact time as well as the timenecessary for the task is reduced, which leads to the shortening of themounting time on the whole. Also, two parameters, the task number andthe nozzle interchange time, are determined at the initial stage ofoptimization and the optimization is terminated within a shorter time.

When there is a restriction on the nozzle resource, the nozzle set isdetermined in consideration of the restriction. It is therefore possibleto optimize the mounting order from the both aspects, the nozzleinterchange time and the task number, even under the condition that notenough number of pickup heads is prepared for all the types of pickupnozzles.

As for the allocation of tasks for each nozzle set, a truly optimalsolution can surely be found without fail by examining whether the tasknumber is a feasible solution or not for all the possible combinationsusing a round-robin search method.

Thus, the mounter of the present invention using the gang pickup methodrealizes the optimization of the order of mounting components at higheroptimization level and with higher speed. The practical value of thepresent invention is therefore extremely high today where various boardsare required with the sooner due date.

SECOND EMBODIMENT

Next, the optimization apparatus according to the second embodiment ofthe present invention will be explained. The optimization apparatusaccording to the present embodiment, differing from the optimizationapparatus used in the first embodiment which determines the optimalnozzle set with the presupposition that the pickup nozzles can beinterchanged, determines the nozzle set optimal for mounting componentswith the smallest task number and the task number then used, withoutinterchanging pickup nozzles.

FIG. 37 is a block diagram showing the optimization apparatus 300 baccording to the second embodiment of the present invention, namely, astructural example of the optimization apparatus shown in FIG. 1. Theoptimization apparatus 300 b is a computer apparatus for determining theorder of mounting components to be mounted at each sub stage and thecomponents at each sub stage for all the components provided by thecomponent mounting CAD apparatus or the like so as to minimize a linetact (i.e., the largest tact within the tact at each sub stage composinga line) in mounting components on a target board under variousrestrictions based on the specification of each stage that composes aproduction line, and generating optimal NC data. The optimizationapparatus 300 b is composed of the calculation unit 301, the displayunit 302, the input unit 303, the memory unit 304, the optimizationprogram storing unit 1305, the communication I/F (interface) unit 306and the database unit 307 or the like.

It should be noted here that the optimization apparatus 300 b iscomposed of the same components as the optimization apparatus 300 a usedin the first embodiment, except for the optimization program storingunit 1305. The following focuses on the difference between theoptimization apparatuses 300 a and 300 b. The same marks are put for thesame components used in the first embodiment and the explanation isabbreviated here.

Each stand-alone mounter composing the production line (i.e., a mounterin charge of each process in pipeline process or a sub stage) is simplycalled a “stage”. Namely, “stage” includes a front sub stage 110 andrear sub stage 120 in the mounter 100 equipped with two mounting robotsas well as a mounter equipped with a single mounting robot.

The optimization program storing unit 1305 is a hard disk in whichvarious optimization programs for realizing the functions of the presentoptimization apparatus 300 b are recorded, or the like. The optimizationprogram, a program for optimizing the order of mounting components,includes a nozzle set determination unit 1305 a, a component groupallocation unit 1305 b, a component allocation unit 1305 c, a nozzleallocation unit 1305 d and an Z-axis arrangement/mounting orderoptimization unit 305 c as function blocks relating to the presentinvention (i.e., processing units which function when executed by thecalculation control unit 301).

The nozzle set determination unit 1305 a is a processing unit fordetermining the nozzle set that is optimal for mounting all thecomponents with the smallest task number, based on information such asthe types and the numbers of all the components allocated to a singlestage and types of pickup nozzles for picking up these components andothers, without interchanging the pickup nozzles, and the task numberthen used. The nozzle set determination unit 1305 a, a processing unitfor determining the optimal nozzle set for a single stage and the tasknumber then used, is activated when called out as a sub routine from thecomponent group allocation unit 1305 b and the component allocation unit1305 c, when the production line is composed of 2 or more stages. Itshould be noted here that a nozzle set is a combination of the pickupnozzles to be mounted on the line gang pickup head 112. When the numberof nozzle heads is ten, the nozzle set is determined based on the typesand the number of ten or fewer pickup nozzles. For example, acombination of two S-typed pickup nozzles and 8 M-sized pickup nozzlesis one of the examples for such nozzle set. In this case, the headpositions of the line gang pickup head 112 on which each of the pickupnozzles is mounted is not limited.

The component group allocation unit 1305 b is a processing unit forclassifying all the components to be mounted into small groups as shownin FIG. 38 based on the height of components and allocating them as thecomponents to be mounted to each of the plural stages composing theproduction line in units of classified component groups.

It should be noted that the component groups are classified based on theheight of components in order to enable a highly intense mounting basedon fine pitch mounting by mounting firstly the lower components. Namely,the mounting is allowed for mounting the components belonging to thecomponent group of the components higher than those in the previouscomponent group only after mounting all the components belonging to acertain component group. The component group allocation unit 1305 ballocates the component groups so that the total task number (the tasknumber required for mounting all the components allocated to the stage)used at each stage is averaged (i.e., the maximum value becomessmaller), when allocating the components to each stage in units ofcomponent groups.

After the allocation operated by the component group allocation unit1305 b in units of component groups, the component allocation unit 1305c then takes the line balance by moving (i.e., changing the allocation)the components to the neighboring stage in units of components. In thiscase, the components are moved so that the total task number used ateach stage is averaged. However, the averaging is attempted under thepresupposition that the nozzle interchanging is not operated whilemounting all of the components at each stage.

The nozzle allocation unit 1305 d is a processing unit which can mountall of the components with the smallest task number without performingnozzle interchanging, when there is a restriction on the nozzle resource(restriction on the number of usable pickup nozzles), and allocate theline-balanced pickup nozzles to plural stages.

The Z-axis arrangement/mounting order optimization unit 305 c optimizesthe Z-axis arrangement and the mounting order while maintaining thenozzle set and the task number determined by each optimizationprocessing unit 1305 a-1305 d and generates the NC data as a finalresult, as is described in the first embodiment.

The following describes the operation of the optimization apparatus 300b constructed as above.

Firstly, the procedure for determining the nozzle set optimal formounting the components allocated to a single stage withoutinterchanging nozzles and the task number then used, that is, theprocess performed by the nozzle set determination unit 1305 a. FIG. 39is a flowchart showing the procedure while FIGS. 40 and 41 are diagramsshowing examples of each step shown in FIG. 39.

The nozzle set determination unit 1305 a firstly determines an initialnozzle set based on a combination of the number of the componentsallocated to the stage for each type and the corresponding each type ofpickup nozzles (S10 in FIG. 39). Here, the initial nozzle set isdetermined so that the ratio of the number of components equals to theratio of the number of pickup nozzles and the total number of pickupnozzles equals to the number of pickup nozzles mountable on the linegang pickup head 112 (here, ten).

For example, assume that the components “0603” and “1005” are assignedto a single stage as in the table shown in FIG. 40. That is to say, atotal of 64 components consisting of 19 components 0603 (the type ofpickup nozzle to be used is “SX”) belonging to a component group “PG1”and 45 components “1005” (the type of pickup nozzle to be used is “SA”)belonging to a component group “PG2” are assigned to a single stage. Inthis case, the nozzle set determination unit 1305 a determines thenumber of each pickup nozzle so that the ratio of the number of eachcomponent equals to the ratio of the number of pickup nozzles as shownin the equation in “1. Calculate initial nozzle set” in FIG. 41. Here,the initial nozzle set is determined as 3 pickup nozzle type SX and 7pickup nozzle type SA.

The nozzle set determination unit 1305 a then calculates the task numberper pickup nozzle necessary for mounting all the components using thedetermined initial nozzle set, namely, the initial task number (S11 inFIG. 39). To be more specific, the task number necessary for mountingall the 19 components “0603” using 3 pickup nozzles SX is obtained as 7while the task number necessary for mounting all the 45 components“1005” using 7 pickup nozzles SA is obtained as 7.

The nozzle set determination 1305 a then calculates the task number percomponent group (i.e., the task number necessary for mounting all thecomponents belonging to each component group) using the calculated tasknumber per pickup nozzle (S12 in FIG. 39). In more detail, when thereare more than two types of pickup nozzles belonging to the samecomponent group, the maximum value out of the task numbers for thesepickup nozzles is determined as the task number per component group.This is because even when the components are to be picked up bydifferent types of pickup nozzle, it is possible to mount with the sametask when the pickup nozzles (i.e., component types) belong to the samecomponent group. Therefore, it is possible to mount the components onthe line gang pickup head 112 using various pickup nozzles and, in thiscase, the larger task number is determined as the task number necessaryfor mounting all the components belonging to the component group. As canbe seen in the example of components in FIG. 40, the only pickup nozzlebelonging to the component group “PG1” is “SX” (component “0603”) andthe only pickup nozzle belonging to the component group “PG2” is “SA”(component “1005”). The nozzle set determination unit 1305 a thereforecalculates, in this example, the same value as the task number perpickup nozzle as the task number per component groups, namely, 7 for thecomponent group “PG1” and 7 for the component group “PG2”.

The nozzle set determination unit 1305 a calculates a total task number,that is, the task number necessary for mounting all the components usingthe calculated task number per component group (S13 in FIG. 39). In moredetail, the total task number is calculated by summing up the tasknumbers per component group. This is because it is prohibited to mountthe components belonging to the higher component group before mountingall of the components in the lower component group so that the totaltask number is a total of the task numbers per component group. In theexample of the components shown in FIG. 40, a total of the task number“7” of the component group “PG1” and the task number “7” of thecomponent group “PG2”, that is, the total task number “14” is calculatedusing the equation shown in “3. Calculate task number & number ofnozzles” in FIG. 41, T (SX): 7+T (SA): 7=14.

The nozzle set determination unit 1305 a then increments/decrements thenumber of nozzles by 1 depending on the type of nozzles (i.e., adjustthe number of nozzles) (S14 in FIG. 39) so as to judge whether or notthe total task number is decremented (S15 in FIG. 39) in order to searchfor the smaller total task number (S14 in FIG. 39). When the total tasknumber is decremented (Yes at S15 in FIG. 39), the adjustment of thenumber of nozzles is repeated. When the total task number is notdecremented (No at S15 in FIG. 39), the search is terminated and thenozzle set and the total task number used at that time are determined asa final solution. Namely, the nozzle set optimal for mounting the all ofthe components assigned to the stage with the minimum task numberwithout interchanging nozzles and the task number then used are thusdetermined.

Taking the example of the components shown in FIG. 40, the present tasknumber using 3 pickup nozzles SX is 7, however, when the pickup nozzleis decremented by 1, 19/2→10, therefore, the task number is “10”. Whenthe pickup nozzle is incremented by 1, 19/4→5, therefore, the tasknumber is “5”, as shown in “3. Calculate task number & number ofnozzles” shown in FIG. 41 (“→” means to round up in order to make aninteger).

On the other hand, the present task number using 7 pickup nozzles SA is“7”, however, when the pickup nozzle is decremented by 1, 45/6→8,therefore, the task number is “8” and when it is incremented by 1,45/8→6, therefore, the task number is “6”.

Accordingly, as seen in the combination of values indicated in thecircle in FIG. 41, when the number of pickup nozzles SX is incremented(the task number using the pickup nozzle SX is “5” as a result) and whenthe number of pickup nozzles SA is decremented by 1 (the task numberusing the pickup nozzle SA is “8” as a result), the equation T (SX):5+T(SA):8=13, therefore, the total task number is decremented to “13”. Thatis to say, the task number changes (decrements) from T (SX):7+T (SA):7to T(SX): 5+T(SA):8 while the nozzle set changes from SX:3, SA:7 toSX:4, SA:6 and thus the task number and the nozzle set are optimized.

Similarly, whether or not the total task number is decremented as aresult of the adjustment of the number of nozzles is examined again fora new nozzle set (SX:4, SA:6). In this case, as shown in “3. Calculatetask number & number of nozzles” in FIG. 41, the total task number isnot incremented or decremented after the adjustment of the number ofnozzles so that the processing of optimizing the number of nozzles isterminated judging that further optimization is impossible.Consequently, the nozzle set making a combination of 4 pickup nozzles SXand 6 pickup nozzles SA as well as the total task number “13” aredetermined as an optimal solution.

FIGS. 42 and 43 are diagrams for explaining another example of each stepshown in FIG. 39. Here, a case of assigning a component group includingtwo different pickup nozzles (i.e., component types) to a single stageis shown, which is different from the case of assigning two componentgroups to a single stage shown in FIGS. 40 and 41. It is assumed here,as in the table shown in FIG. 42, two components “1CAP” and “3CAP”belonging to a component group “PG3” are assigned to a certain singlestage.

In this case, the nozzle set determination 1305 a determines 4 pickupnozzles M, 6 pickup nozzles S as an initial nozzle set based on thenumber of components (S10 in FIG. 39). The task number per pickup nozzlenecessary for mounting all the components using the determined initialnozzle set, that is, the initial task number, can be calculated as shownin the equation in “2. Calculate initial task number” shown in FIG. 43.The task number necessary for mounting 43 components “1CAP” using 6pickup nozzles S is calculated as “8” while the task number necessaryfor mounting 19 components “3CAP” is calculated as “5” (S11 in FIG. 39).

The nozzle set determination unit 1305 a then calculates the task numberper component group using the determined task number per pickup nozzle(S12 in FIG. 39). Here, as there are more than two types of pickupnozzles belonging to the same component group “PG3”, the maximum value“8” is determined as the task number of the component group “PG3” out ofthe task number (8, 5) corresponding to these pickup nozzles.

The nozzle set determination unit 1305 a then determines a total tasknumber, that is, the task number necessary for mounting all thecomponents using the calculated task number per component group.However, the task number “8” of the component group “PG3” is determinedas a total task number since only one component group is used here (S13in FIG. 39).

The nozzle set determination 1305 a then searches the smaller tasknumber (S14 & S15 in FIG. 39). As shown in “3. Calculate task number &number of nozzles in FIG. 43”, the present task number using 6 pickupnozzles S is “8”. When, the pickup nozzle is decremented by 1, 43/5→9,and the task number is “9”. When the pickup nozzle is incremented by 1,45/7→7, and the task number is “7”. The present task number using 4pickup nozzles M is “5”. However, when the number of pickup nozzles isdecremented by 1, 19/3→7, and the task number is “7”. When the number ofpickup nozzles is incremented by 1, 19/5→4, and the task number is “4”.Accordingly, as seen in the combination indicated in the circle in FIG.43, the total task number is decremented to “7”. By incrementing thenumber of nozzles S by 1 (the task number using the pickup nozzle S is“7” as a result) and decrementing the number of nozzles M by 1 (the tasknumber using the pickup nozzle M is “7” as a result), the maximum valuecan be calculated from the equation Max [T(S):7, T(M):7]=7. Namely, asshown in “3. Calculate task number & number of nozzles” in FIG. 43, thetask number changes (decrements) from Max [T(S):8, T(M):5 to Max[T(S):7, T(M):7] while the nozzle set changes from S:6, M:4→S:7, M:3,and thus the task number and the nozzle set are optimized.

Similarly, whether or not the total task number is decremented as aresult of the adjustment of the number of nozzles is examined again fora new nozzle set (S:7, M:3). In this case, however, the total tasknumber is not decremented (“8” or “10”) after the increment/decrement ofthe number of nozzles, as shown in “3. Calculate task number & number ofnozzles” in FIG. 43. Therefore, it is judged that further optimizationcannot be operated and the processing of optimizing the number ofnozzles is terminated. Consequently, the nozzle set that is acombination of 7 pickup nozzles S and 3 pickup nozzles M as well as thetotal task number “7” are determined as an optimal solution.

Thus, when various components are assigned to a single stage, the nozzleset determination unit 1305 a determines the nozzle set and the tasknumber optimal for mounting all the components with the smallest tasknumber based on the number of components, the type of nozzles andinformation on component groups and others, without interchangingnozzles.

The two examples above show the case in which plural component groups,each including only one type of pickup nozzle, are assigned to a singlestage (FIG. 40) and the case in which only one component group includingplural types of nozzles is assigned to a single stage (FIG. 41). Thenozzle set determination unit 1305 a can surely determine the optimalnozzle set and task number even for the case in which both of the abovecases are mixed. A case in which a component group including pluraltypes of nozzles and a component group including one or plural types ofnozzles are assigned can be an example of it. The optimal nozzle set andtask number can be determined even in this case because the total tasknumber at the stage can be calculated by totalizing the task number ofeach component group (S13 in FIG. 39) after having calculated themaximum value based on the task number per pickup nozzle belonging tothe component group (S12 in FIG. 39).

The following describes the procedure for determining the nozzle setoptimal for mounting the components assigned to a plurality of stageswithout interchanging nozzles and the task number then used, that is tosay, the procedure of averaging the tacts between plural stages (i.e.,perform tact balance) operated by the component group allocation unit1305 b and the component allocation unit 1305 c. FIG. 44 is a flowchartshowing the procedure while FIG. 45 is a diagram showing the processingat each step shown in FIG. 44.

It should be noted here that the number of stages is 2 (stage R andstage L) for the sake of simplicity. The prerequisites for the presentoptimization are shown in “Prerequisites” in FIG. 45. Namely, (1) thecomponents need to be mounted in ascending order of the height ofcomponents (here, PG1→PG2→PG3); (2) the board is transferred from thestage R to the stage L; (3) the tact time level is expressed byTact time level=Number of components/N·Twhen N indicates the number of pickup nozzles to be mounted on the linegang pickup head 112 and T indicates a tact calculated per component.Here, a triangle indicating each component group corresponds to ahistogram obtained by arranging all the components in the componentgroup for each type (horizontal axis) in descending order of the numberof components (vertical axis).

The component group allocation unit 1305 b arranges all the componentsto the stage R that is the upper stage (S20 in FIG. 44). When it isimpossible to mount all the components (No at S21 in FIG. 44), thecomponent group allocation unit 1305 b arranges the rest of thecomponents to the stage L, the lower stage (S22 in FIG. 44). “1. Initialarrangement” in FIG. 45 shows how the components are arranged when thecomponents are thus mounted on two stages, prioritizing the stage R(moving up front).

It should be noted that the type of component with large number ofcomponents are arranged on the left for the component groups to bearranged on the stage R, whereas the type of component with large numberof components are arranged on the right for the component groups to bearranged on the stage L in order to abbreviate the total time necessaryfor the line gang pickup head 112 to move. Namely, the line gang pickuphead 112 on which the components are picked up always passes near thecomponent recognizing camera 116 which is located on the area betweenthe two stages. The component type with large number of components istherefore supposed to be placed near the component recognizing camera116 in order to shorten the moving distance of the line gang pickup head112.

Surely, such method for arranging the components at a single stage isjust an example disregarding the characteristics of the presentinvention and the method depends on the numbers of stages and componentrecognizing camera as well as a positional relation between them.Therefore, in the case of a mounter having two independent stages, eachof which is composed of a set of a component supply unit and a componentrecognizing camera, there is no need to change the method for arrangingthe components between stage R and stage L.

As a result of the initial arrangement as described above, it is judgedimpossible to mount all the components using these two stages when allthe components cannot be arranged (No at S23 in FIG. 44) and theoptimization processing is terminated. Either when all the componentshave been mounted at the stage R (Yes at S21 in FIG. 44) or when all thecomponents have been mounted at the stages R and L (Yes at S23 in FIG.44), the component group allocation unit 1305 b averages the task numberat each stage (the task number necessary for mounting all the componentsassigned to each stage) by moving the components in units of componentgroups between stages, as shown in “2. Move components” in FIG. 45(S24-S26 in FIG. 44). Namely, the task number at each stage iscalculated (S24 in FIG. 44), whether or not the size relationshipbetween the task numbers changes (i.e., reverses) is supervised bymoving the components in units of group components (S25 in FIG. 44).When the size relationship has not changed (No at S25 in FIG. 44), themoving of component groups is repeated (S26 in FIG. 44) and when it haschanged (Yes at S25 in FIG. 44), the state in which the previouscomponent groups are allocated is maintained and the next processingfollows. It should be noted that the nozzle set determination unit 1305a calculates the task number at each stage in Step S24 according to theprocedure in the flowchart shown in FIG. 39.

The component allocation unit 1305 c takes a line balance, that is,averages the task number at each stage by moving the components in unitsof components between stages (S27-S30 in FIG. 44). That is to say, thecomponent allocation unit 1305 c determines the components to be movedbased on the difference in task number between the stages (S27 in FIG.44) and moves the determined components (S28 in FIG. 44). The componentallocation unit 1305 c then calculates the task number at each stageafter the moving (S29 in FIG. 44) and judges whether or not the linebalance is improved (i.e., the maximum task number is decremented)(S30). When the line balance is improved (Yes in S30), the componentallocation unit 1305 c repeats moving the next component (S27-S39 inFIG. 44). When the line balance is not improved (No in S30), thecomponent previously moved is replaced to the original place (S31) andthe optimization processing is terminated.

In more detail, as shown in “3. Move components” in FIG. 45, when thetask number at stage R is larger than the one at stage L, the componentbelonging to the component group where the highest components areassigned out of the component groups allocated to the stage R is movedone by one to the stage L. When the line balance is no longer improved(i.e., the task number is larger at the stage L than at the stage R),the optimization processing is terminated determining the immediatelyprevious state as an optimal state of allocating components. It shouldbe noted that, on the contrary, when the components are moved from thestage L to the stage R, the component belonging to the component groupto which the low components are assigned out of the component groupsallocated to the stage L is moved one by one inversely to the casedescribed above because of the height of components. As in Step S24described above, the nozzle set determination unit 1305 a calculates thetask number at each stage in Step S29 according to the proceduredescribed in the flowchart in FIG. 39.

FIGS. 46 and 47 are diagrams showing the allocation processing in unitsof components operated by the component allocation unit 1305 c, namely,the examples of Steps S27-S31 in the flowchart shown in FIG. 44.

Supposing here that the structure of components is as shown in the tablein FIG. 46A and the state of allocation is as shown in FIG. 46B as aresult of the optimization in units of component groups (S20-S25 in theflowchart in FIG. 44) operated by the component group allocation unit1305 b. That is to say, the components “0603” belonging to the componentgroup “PG1” and the components “1005” belonging to the component group“PG2” are allocated to the stage R whereas the components “1CAP” and thecomponents “3CAP” belonging to the component group “PG3” are allocatedto the stage L. It should be noted that this state of allocationcorresponds to the component structure shown in FIGS. 40 and 42 wherethe nozzle set is (S:7, M:3) and the task number is “7” at the stage Lwhile the nozzle set is (SX:4, SA:6) and the task number is “13” at thestage R.

In such case, the component allocation unit 1305 c firstly calculatesthe task number at each stage (i.e., the task number TL at stage L andthe task number TR at the stage R), as shown in the upper stage in FIG.47 and sets the target task number as “10” resulted from(TL+TR)/2=(7+13)/2=10by taking an average of the task numbers at each stage.

As is apparent in FIG. 46B, focusing on the stage L, the components“1005” which needs a new pickup nozzle has to be moved from the stage Rto the stage L. For this, the component allocation unit 1305 cdetermines the relationship between the number of new pickup nozzles(i.e., space nozzle) mountable to the line gang pickup head at the stageL and the number of components which are movable. This is because it ispresupposed that the nozzle interchange is not operated while mountingall the components at each stage. In more detail, the componentallocation unit 1305 c determines all the combinations being made of thenumber of space nozzles and the task number by decreasing the pickupnozzles one by one so that the increment in the number of tasks is thesmallest until the target task number is achieved, as shown in themiddle stage in FIG. 47.

Here, how the task number “7” for the initial nozzle set (S:7, M:3)changes. The task number is incremented to “8” by decrementing thepickup nozzle S by 1 (space nozzle:1), then to “9” by decrementing thepickup nozzle by 1 (space nozzle:2), and then to “10” by decreasing thepickup nozzle M by 1 (space nozzle:3). Accordingly, the task number atthe stage L can be calculated by 8+(number of components to be moved)/1when the number of space nozzles is 1, 9+(number of components to bemoved)/2 when the number of space nozzles is 2, and then 10+(number ofcomponents to be moved)/3 when the number of space nozzles is 3.

Focusing on the stage R, since the components to be moved to the stage Lis the components “1005” whose height is the highest, the number ofcomponents is 45 and the number of nozzles is 6, the relation betweenthe components to be moved and the task is as in the table shown in thelower stage in FIG. 47. Namely, the task number is decremented by 1 (thetask number at the stage R is 12 as a result) by moving 3-8 components“1005” to the stage L while the task number is further decremented by 1(the task number at the stage R is 11 as a result) by moving 9-14components “1005” to the stage L.

Consequently, the number of components “1005” to be moved from the stageR to the stage L, the task number at the stage R, the task number andthe line task number at the stage L (the maximum value among each tasknumber) are as in the table shown in the lower stage in FIG. 47. Thecomponent allocation unit 1305 c judges that it is optimal to use themoving method by which the smallest line task number can be obtained,namely, it is optimal to move 3-6 components “1005” from the stage R tothe stage L and changes the allocation accordingly.

Thus, the component group allocation unit 1305 b and the componentallocation unit 1305 c determine the nozzle set optimal for mounting thecomponents assigned to 2 or more stages without interchanging nozzlesand the task number then used.

The following describes the procedure of allocating the nozzles to eachstage in the case where there is a restriction on the nozzle resource(restriction on the number of usable nozzles) to determine the nozzleset optimal for mounting the components assigned to plural stageswithout interchanging nozzles and the task number then used, that is,the procedure used by the nozzle allocation unit 1305 d. FIG. 48 is aflowchart showing the procedure while FIGS. 49 and 50 are examplesshowing each step in FIG. 48.

The nozzle allocation unit 1305 d firstly allocates pickup nozzles toeach stage (S40 in FIG. 48). That is to say, the nozzle allocation unit1305 d allocates the nozzles to each stage so that the ratio of thenumber of the components assigned to each stage equals to the ratio ofthe number of pickup nozzles and the total number of pickup nozzlesequals to the number of nozzle resource, when the components to bepicked up using the same type of nozzle are allocated to plural stages.

For instance, it is assumed here, as shown in the table in FIG. 49, 10components “0603R”, 12 components “0603c”, 12 components “1005”, 11components “1005C” and 50 components “others” are assigned to the stageR while the nozzle resource number is defined as follows: 5 pickupnozzles SX, 5 pickup nozzles SA, 3 pickup nozzles S and 2 pickup nozzlesM are usable. In this case, the nozzle allocation unit 1305 d allocatesthe pickup nozzles SA to be used at both stages so that the ratio of thenumber of respective components equals to the ratio of number ofrespective pickup nozzles, as shown in the equation described in “1.Allocate nozzles” in FIG. 50. Here, it is determined that the number ofthe pickup nozzles SA to be allocated to the stage L is 2 while thenumber of the pickup nozzles SA to be allocated to the stage R is 3.

The nozzle allocation unit 1305 d calculates the task number and thenumber of nozzles to be used at each stage in consideration of nozzleresource (S41 in FIG. 48). In more detail, the nozzle allocation unit1305 d calculates the number of respective pickup nozzles, namely, theinitial nozzle set without taking nozzle resource into consideration,and then, calculates the task number per pickup nozzle, namely, theinitial task number in consideration of nozzle resource.

For example, as shown in the equation in “2.1 Calculate initial nozzleset” in “2. Calculate task number and number of nozzles at each stage”for the stages R and L shown in FIG. 50, the numbers of pickup nozzlesto be allocated are determined as follows: 5 pickup nozzles SA and 5pickup nozzles SX, to the stage R; 2 pickup nozzles SA, 3 pickup nozzlesM and 5 pickup nozzles S, to the stage L. The initial task number iscalculated by dividing the number of respective components by theinitial nozzle number (when the number exceeds the restricted number ofnozzle resource, the number defined in the restriction is used), asshown in “2.3. Calculate initial task number” for stages R and L shownin FIG. 50, in consideration of the restricted number of nozzle resourceas shown in “2.2. Restriction on nozzle resource” for stages R and L inFIG. 50. Here, the initial task number is respectively defined for eachnozzle as follows: 5 pickup nozzles SX and 7 pickup nozzles SA for thestage R whereas 6 pickup nozzles SA, 11 pickup nozzles S and 9 pickupnozzles M for the stage L.

Lastly, the nozzle allocation unit 1305 d moves the pickup nozzles sothat the difference in tact number between stages is shorten in order totake the line balance (S42 in FIG. 48). In more detail, as in theprocess at S14 in FIG. 39, the method by which the difference in tasknumber between the stages is shorten is searched by evaluating the tasknumber when the number of nozzles is incremented/decremented by 1 pertype of pickup nozzle. Here, a combination of the increment/decrementmethods by which the total increment/decrement of pickup nozzles at bothstages become “0” is selected. For, it is a search for a method ofmoving the pickup nozzles from one stage to the other.

For example, as shown in “3. Adjust task number & number of nozzles” inFIG. 50, the task number “15” is calculated by decrementing the numberof pickup nozzles SA from 3 to 2 for the stage R while the task number“15” is calculated by incrementing the number of pickup nozzles SA from2 to 3 for the stage L. Thus, the difference in task number between thestages becomes “0” and the line balance is well-taken.

Thus, the nozzle allocation unit 1305 d can mount all the componentswith the smallest task number without interchanging nozzles as well asallocate the pickup nozzles with a good line balance, when there is arestriction on nozzle resource (restriction on numbers).

It should be noted that in the present embodiment, a mounter equippedwith a nozzle interchanging function is described, however, thecomponent mounting order optimization method according to the presentinvention is not limited to such mounter and can be surely applied to amounter without the nozzle interchanging function. This is because thecomponent mounting order optimization method according to the presentembodiment is a technique relating to the optimization of mounting orderfor mounting all the components without interchanging nozzles.

As is apparent from the above description, according to the componentmounting order optimization method used in the present embodiment, anozzle set optimal for mounting all the components on a board with lesstask number without interchanging nozzles is determined, the timenecessary for the optimization of the order of mounting components isshorten, and the optimization for the mounter with high costperformance, but without such nozzle interchanging function can berealized.

Namely, the present invention enables a supply of the mounter whose costis considerably reduced without imposing great cost on its performance.The practical value of the present invention is extremely high todaywhere a fabrication of various boards such as a cell phone, a portablepersonal computer, and the like, with shorter due of delivery and lowcost, is desired.

The component mounting order optimization method according to thepresent invention is useful as a component mounting order optimizationapparatus which determines an optimal order for mounting components fora mounter that mounts electric components on a board such as a printedcircuit board or the like, or as a mounter or a component mountingsystem equipped with a controller for determining an order of mountingcomponents, and even as a stand-alone simulator (a tool for optimizingan order of mounting components) for determining a mounting order forcomponents in a state where it is not connected to a mounter, or thelike.

1. An optimizing method that optimizes, using a computer, a componentmounting order in which a mounter, equipped with a mounting head, picksup L components, L being no less than 2, from an array of componentfeeders that hold components, and mounts the components on a board,wherein the mounting head has, at maximum, L pickup nozzles attachedthereto for picking up the components, and wherein a plurality ofcomponents, of which the mounting order is to be optimized, includes aplurality of types of components to be picked up using no less than 2pickup nozzles of different types, the optimizing method comprising:determining a nozzle set, from a plurality of pickup nozzles, formounting the plurality of components using a smallest possible number oftasks, where a nozzle set is a combination of pickup nozzles in which(i) only the types of the pickup nozzles and a number of the pickupnozzles to be attached to the mounting head are previously set and (ii)a correspondence between the types of the pickup nozzles and mountingpositions of the pickup nozzles is not previously set, and where a taskis a group of components to be mounted by one iteration of a repeatedseries of processes where the mounting head picks up, transports, andmounts the components; and determining an order of the array ofcomponent feeders and a component mounting order, while maintaining thedetermined nozzle set.
 2. The optimizing method according to claim 1,wherein the pickup nozzles attached to the mounting head areinterchangeable, and wherein the determination of the nozzle setdetermines a nozzle set that reduces a mounting time in view of (i) anumber of times of interchanging the pickup nozzles for mounting thecomponents and (ii) a total number of tasks.
 3. The optimizing methodaccording to claim 2, wherein, in the determination of the nozzle set,i) at least one kind of nozzle set is specified, the specified nozzleset corresponding to the number of times of interchanging the pickupnozzles, ii) a number of tasks required for mounting the plurality ofcomponents is calculated using the specified nozzle set, iii) acombination of the number of times of interchanging the pickup nozzlesand the calculated number of tasks required for mounting the pluralityof components is estimated, and iv) the nozzle set is determined as aresult of the estimation.
 4. The optimizing method according to claim 3,wherein the determination of the nozzle set further comprises: furthercalculating the number of tasks required for mounting the plurality ofcomponents by repeating the calculating of the number of tasks requiredfor mounting the plurality of components using “n” kinds of nozzle sets,“n” being no less than 1, while incrementing “n” by 1; and calculatingan evaluated value S, corresponding to the mounting time, according to apredetermined evaluation function, specifying a nozzle set of the “n”kinds of nozzle sets corresponding to a combination of pickup nozzles inwhich the evaluated value S is the smallest, and setting the specifiednozzle set as the determined nozzle set.
 5. The optimizing methodaccording to claim 4, wherein the further calculating of the number oftasks further comprises: calculating a number of tasks, for a case inwhich the plurality of components are mounted on a board, for using themounting head to pick up as many of the L components as possible, as aminimal task number; and judging for each task, of the number of taskscalculated by the calculating of the number of tasks for using themounting head, whether or not it is possible to mount the plurality ofcomponents by incrementing the calculated minimal task number by 1, andobtaining a minimum task number, when the judging for each task judgesthat it is possible to mount the plurality of components, as the numberof tasks required for mounting the plurality of components using “n”kinds of nozzle sets.
 6. The optimizing method according to claim 5,wherein, in the further calculating of the number of tasks, the numberof tasks required for mounting the plurality of components by a nozzleset is incremented, the nozzle set, for which the number of tasks isincremented being from, a plurality of nozzle sets determinedimmediately before the further calculating of the number of tasks, andthe incrementing of the number of tasks required for mounting theplurality of components resulting in fewer “empty head” which is a statein which a mounting head is empty when performing a task for componentsfewer than L.
 7. The optimizing method according to claim 5, wherein thefurther calculating of the number of tasks further comprises calculatingthe number of tasks required for mounting all of the plurality ofcomponents by decrementing the calculated minimum task number by
 1. 8.The optimizing method according to claim 7, wherein, in the furthercalculating of the number of tasks, the number of tasks required formounting the plurality of components by a nozzle set is decremented, thenozzle set, for which the number of tasks is decremented being from aplurality of nozzle sets determined immediately before the furthercalculating of the number of tasks, and the decrementing of the numberof tasks required for mounting the plurality of components resulting inmore “empty head” which is a state in which a mounting head is emptywhen performing a task for components fewer than L.
 9. The optimizingmethod according to claim 4, wherein a number of usable pickup nozzlesis restricted depending on the type of pickup nozzles, and wherein, inthe determination of the nozzle set, when “n” kinds of nozzle sets arerespectively determined, a combination of a pickup nozzle and a numberof components to be mounted using the pickup nozzle is specified to be Lor fewer within the restricted number of usable pickup nozzles.
 10. Theoptimizing method according to claim 4, wherein, in the furthercalculating of the number of tasks, possible combinations of pickupnozzles, for each task calculated using the respective “n” kinds ofnozzle sets, are extracted, whether or not it is possible to mount theplurality of components is sequentially judged for all of the extractedcombinations of pickup nozzles, and a minimum task number, for which thesequentially judging judges that it is possible to mount the pluralityof components, is obtained as the number of tasks required for mountingthe plurality of components using “n” kinds of nozzle sets.
 11. Theoptimizing method according to claim 10, wherein, in the furthercalculating of the number of tasks, the possible combinations of pickupnozzles are extracted from a restricted range of pickup nozzlesspecified by minimum and maximum task numbers, the minimum task numberbeing a number of tasks required for mounting as many of the pluralityof components on a board as possible using a mounting head by which Lcomponents are picked up, and the maximum task number being a largestnumber of the components classified based on the type of pickup nozzles.12. The optimizing method according to claim 4, wherein the furthercalculating of the number tasks further comprises: a first calculationstep of: calculating a number of tasks, for a case in which theplurality of components are mounted on a board, for using a mountinghead to pick up as many of the L components as possible, as a minimaltask number; judging whether or not it is possible to mount theplurality of components for each task of the number of tasks calculatedby the first calculation step by incrementing the calculated minimaltask number by 1; and obtaining a minimum task number, when the judgingof each task judges that it is possible to mount the plurality ofcomponents, as the number of tasks required for mounting the pluralityof components using “n” kinds of nozzle sets; a second calculation stepof: extracting possible combinations of pickup nozzles, for each taskcalculated using the respective “n” kinds of nozzle sets; sequentiallyjudging whether or not it is possible to mounts the plurality ofcomponents for all of the extracted combinations of pickup nozzles; andobtaining a minimum task number, for which the sequentially judgingjudges that it is possible to mount the plurality of components, as thenumber of tasks required for mounting the plurality of components using“n” kinds of nozzle sets; and executing either the first calculationstep or the second calculation step.
 13. The optimizing method accordingto claim 2, wherein, in the determination of the nozzle set, a nozzleset which obtains a smallest evaluated value S is determined as thenozzle set that reduces the mounting time, the smallest evaluated valueS is calculated using S=X+h·N, where N indicates the number of times ofinterchanging the pickup nozzles, X indicates the total number of tasks,and h indicates a coefficient for converting the time taken tointerchange the pickup nozzles into a task number.
 14. The optimizingmethod according to claim 2, further comprising determining a nozzlepattern in which a type of pickup nozzle is assigned to each of aplurality of heads constituting the mounting head for all of the tasksrequired for mounting the plurality of components, while maintaining thenozzle set determined in the determination of the nozzle set.
 15. Theoptimizing method according to claim 2, wherein the mounter includes anozzle station at which the pickup nozzles are arranged, and wherein theoptimizing method further comprises determining a combination of a typeof pickup nozzle to be arranged at the nozzle station and a place forthe arrangement based on the nozzle set determined in the determinationof the nozzle set.
 16. The optimizing method according to claim 2,wherein, in the determination of the mounting order, the components areclassified as small components or general components based on heights ofthe components, the order of the array of component feeders and thecomponent mounting order for the small components are determined so thata number of components to be picked up per task by the mounting headincreases, while the order of the array of component feeders and thecomponent mounting order for the general components are determined basedon a mounting order which reduces the mounting time while switching anorder of mounting components.
 17. The optimizing method according toclaim 1, wherein the determination of the nozzle set determines thenozzle set for mounting the plurality of components with the smallestpossible number of tasks without interchanging the pickup nozzlesattached to the mounting head.
 18. The optimizing method according toclaim 17, wherein the determination of the nozzle set further comprises:for each type of pickup nozzle, initially calculating a number of pickupnozzles of an initial nozzle set based on a number of components to bepicked up, respectively, by the different types of pickup nozzles;initially calculating a total number of tasks for mounting the pluralityof components based on a number of components corresponding to thecalculated number of pickup nozzles of the initial nozzle set;calculating a total number of tasks for mounting the plurality ofcomponents when the number of pickup nozzles of the initial nozzle setis incremented or decremented by 1 for each type of pickup nozzle of theinitial nozzle set; and judging whether or not the total number of taskscalculated in the calculating of the total number of tasks is smallerthan the total number of tasks calculated in the initially calculatingof the total number of tasks, when the former is smaller than thelatter, judgment is made as to whether or not the decremented orincremented total number of tasks becomes smaller after the incrementedor decremented nozzle set has been updated as a latest nozzle set, andwhen the former is not smaller than the latter, a previous nozzle setand the total number of tasks of the previous nozzle set are determinedas the initial nozzle set and the number of tasks, respectively.
 19. Theoptimizing method according to claim 18, wherein the respectiveplurality of components belong to one of a plurality of component groupsclassified based on heights of the components, and wherein thecalculating of the total number of tasks further comprises: calculatinga respective number of tasks required for mounting the components ofeach component group; and calculating a total group number of tasks bytotaling each of the respective numbers of tasks calculated by thecalculating of the respective number of tasks.
 20. The optimizing methodaccording to claim 19, wherein in the calculating of the respectivenumber of tasks, when a component group includes a plurality of types ofcomponents to be picked up using a plurality of pickup nozzles, amaximum task number, out of task numbers corresponding, respectively, tothe plurality of pickup nozzles, is obtained as a number of tasks of thecomponent group.
 21. The optimizing method according to claim 1 furthercomprising: allocating the plurality of components to two or moremounters in units of component groups so that a number of tasks of eachof the two or more mounters is averaged, when a task is a group ofcomponents to be mounted by one iteration of the repeated series ofprocesses where the mounting head picks up, transports, and mounts thecomponents; and modifying the allocation of the allocating of theplurality of components by moving a part of the components allocated toa mounter with a larger number of tasks to a mounter with a smallernumber of tasks so that all of the allocated components are mountedwithout interchanging the pickup nozzles attached to the mounting headand the number of tasks of each of the two or more mounters is averaged.22. The optimizing method according to claim 21, wherein, in theallocating of the plurality of components, a process of modifying theallocation by sequentially moving the component groups allocated to themounter with the larger number of tasks to another mounter adjacentlyconnected to the mounter with the larger number of tasks after havingallocated all of the component groups to the two or more mounters sothat the component groups of low components are allocated to a mounterpositioned upstream in a production line, is repeated until a sizerelation between the number of tasks of the two mounters reverses, andwhen the size relation is reversed, the previous state in which thecomponent groups are allocated is determined as a final state.
 23. Theoptimizing method according to claim 21, wherein, in the modifying ofthe allocation, the components to be moved are determined based on adifference between the number of tasks of the respective two or moremounters for mounting the components allocated in the allocating of theplurality of components, and the determined components are moved. 24.The optimizing method according to claim 23, wherein, in the modifyingof the allocation, when a component requiring a new pickup nozzle ismoved from a second mounter to a first mounter, a space for the newpickup nozzle is retained by determining a pickup nozzle, with which anumber of tasks becomes the smallest from a plurality of pickup nozzlesassigned to the first mounter, the number of tasks being incremented bydecrementing a number of pickup nozzles by
 1. 25. The optimizing methodaccording to claim 1 further comprising: allocating pickup nozzles bydetermining types and numbers of pickup nozzles for respective two ormore mounters according to types and numbers of components allocated tothe respective two or more mounters; calculating a number of tasksrequired for mounting components allocated to the mounters by modifyingthe number of pickup nozzles determined in the allocating of the pickupnozzles based on a restriction on a nozzle resource number that is anumber of usable pickup nozzles, and calculating a number of tasks foreach mounter such that all of the components allocated to each mountercan be mounted without interchanging the pickup nozzles based on thenumber of pickup nozzles after the modification and the correspondingnumber of components; and incrementing or decrementing the number ofpickup nozzles allocated to each mounter so that a difference betweenthe number of tasks required by each mounter calculated in thecalculating of the number of tasks required for mounting components isreduced.
 26. The optimizing method according to claim 25, wherein, inthe incrementing or decrementing of the number of pickup nozzles, adifference between a number of tasks of a first and a second mounter isreduced by incrementing the number of pickup nozzles allocated to thefirst mounter having a larger number of tasks by “n” and decrementingthe pickup nozzles allocated to the second mounter having a smallernumber of tasks by “n”, when pickup nozzles of the same type areallocated to the first and second mounters.
 27. An optimizing apparatusthat optimizes, using a computer, a component mounting order in which amounter, equipped with a mounting head, picks up L components, L beingno less than 2, from an array of component feeders that hold components,and mounts the components on a board, wherein the mounting head has, atmaximum, L pickup nozzles attached thereto for picking up thecomponents, and wherein a plurality of components, of which the mountingorder is to be optimized, includes a plurality of types of components tobe picked up using no less than 2 pickup nozzles of different types, theoptimizing apparatus comprising: a nozzle set determination unitoperable to determine a nozzle set, from a plurality of pickup nozzles,for mounting the plurality of components using a smallest possiblenumber of tasks, where a nozzle set is a combination of pickup nozzlesin which (i) only the types of the pickup nozzles and a number of thepickup nozzles to be attached to the mounting head are previously setand (ii) a correspondence between the types of the pickup nozzles andmounting positions of the pickup nozzles is not previously set, andwhere a task is a group of components to be mounted by one iteration ofa repeated series of processes where the mounting head picks up,transports, and mounts the components; and a mounting orderdetermination unit operable to determine an order of the array ofcomponent feeders and a component mounting order, while maintaining thedetermined nozzle set.
 28. A mounter comprising a mounting head whichpicks up L components, L being no less than 2, from an array ofcomponent feeders that hold components, and mounts the components on aboard, wherein the components are mounted in a mounting order optimizedby the optimizing method according to claim
 1. 29. A computer-readablestorage medium having a program stored thereon, the program foroptimizing a component mounting order in which a mounter, equipped witha mounting head, picks up L components, L being no less than 2, from anarray of component feeders that hold components, and mounts thecomponents on a board, the program causing a computer to execute theoptimizing method according to claim 1.